什么是使用JavaScript在客户端调整图像大小的最佳和最快方法?
编辑:抱歉,我的意思是在客户端上调整大小后显示图像的最佳方法。
编辑:抱歉,我的意思是在客户端上调整大小后显示图像的最佳方法。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Client-Side Image Resize (Why?!)</title>
<script type="text/javascript">
window.onload = function() {
var url = "http://www.google.com/intl/en_ALL/images/logo.gif";
var img = new Image();
img.onload = function() {
var w = parseInt((this.width + "").replace(/px/i, ""), 10);
var h = parseInt((this.height + "").replace(/px/i, ""), 10);
// 50% scale
w = (w / 2) + "px";
h = (h / 2) + "px";
var htmlImg = document.createElement("img");
htmlImg.setAttribute("src", url);
htmlImg.setAttribute("width", w);
htmlImg.style.width = w;
htmlImg.setAttribute("height", h);
htmlImg.style.height = h;
document.body.appendChild(htmlImg);
}
img.src = url;
}
</script>
</head>
<body>
<h1>Look, I'm Resized!</h1>
</body>
</html>
http://www.shift8creative.com/projects/agile-uploader/index.html
上传前可调整大小。灵活,紧密的JavaScript集成,可使用任何后端语言,快速,图像质量好。
比主页更好的演示展示了JavaScript集成: http://www.shift8creative.com/projects/agile-uploader/advanced-demo.html
免费使用。希望它能有所帮助。
我不确定你是要实际调整图像大小还是只是设置显示图像的大小。前者是不可能的,后者可以使用jQuery设置宽度和高度属性。
.animate(...)
命令,并将高度和宽度设置为参数。这应该会使图像变化更加平滑。图像应始终以其要显示的大小提供。最好在服务器上拥有多个副本,而不是将一个文件复制到网络上并尝试在客户端上进行操作。请考虑以下内容:
调整图像大小并不是简单地更改高度/宽度。当您指定与原始图像大小不同的大小(通过样式、脚本等),浏览器将使用本机API(例如win32 draw)来正确地缩小/放大图像。裁剪图像(丢失部分图像)更容易,但很少需要。