用CSS和JS实现流畅的高质量图像缩放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用CSS和JS实现流畅的高质量图像缩放相关的知识,希望对你有一定的参考价值。
/* http://unstoppablerobotninja.com/entry/fluid-images/ var imgSizer = { Config : { imgCache : [] ,spacer : "/path/to/your/spacer.gif" } ,collate : function(aScope) { var isOldIE = (document.all && !window.opera && !window.XDomainRequest) ? 1 : 0; if (isOldIE && document.getElementsByTagName) { var c = imgSizer; var imgCache = c.Config.imgCache; var images = (aScope && aScope.length) ? aScope : document.getElementsByTagName("img"); for (var i = 0; i < images.length; i++) { images[i].origWidth = images[i].offsetWidth; images[i].origHeight = images[i].offsetHeight; imgCache.push(images[i]); c.ieAlpha(images[i]); images[i].style.width = "100%"; } if (imgCache.length) { c.resize(function() { for (var i = 0; i < imgCache.length; i++) { var ratio = (imgCache[i].offsetWidth / imgCache[i].origWidth); imgCache[i].style.height = (imgCache[i].origHeight * ratio) + "px"; } }); } } } ,ieAlpha : function(img) { var c = imgSizer; if (img.oldSrc) { img.src = img.oldSrc; } var src = img.src; img.style.width = img.offsetWidth + "px"; img.style.height = img.offsetHeight + "px"; img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')" img.oldSrc = src; img.src = c.Config.spacer; } // Ghettomodified version of Simon Willison's addLoadEvent() -- http://simonwillison.net/2004/May/26/addLoadEvent/ ,resize : function(func) { var oldonresize = window.onresize; if (typeof window.onresize != 'function') { window.onresize = func; } else { window.onresize = function() { if (oldonresize) { oldonresize(); } func(); } } } } */ img, object { max-width: 100%; /* Automatically scales height proportionally in FF, IE8, Safari >2 */ } img { -ms-interpolation-mode: bicubic; } /* IE8 scaling of JPEG */
以上是关于用CSS和JS实现流畅的高质量图像缩放的主要内容,如果未能解决你的问题,请参考以下文章