2011-02-06 72 views
2

许多相机现在将缩略图放入其JPEG和RAW图像中。 我希望能够自动加载一些图像,然后只显示缩略图,或者更好地自动加载缩略图部分的速度。使用Javascript从JPEG中提取缩略图?

有没有办法在Javascript中做到这一点?

谢谢。

+0

“autoload”是什么意思?另外,你想在浏览器中做这个,还是作为一个独立的程序/过程? (JavaScript!=浏览器,所以我提出了这个问题;如果您使用的是NodeJS或Adobe AIR或...) – 2011-02-06 16:50:20

+0

通过自动加载我的意思是在呈现页面之前加载缩略图。这将在浏览器中。 – user577877 2011-02-06 16:53:35

回答

3

你说你想这样做的浏览器,所以当你说:

...或更好,但只自动加载速度缩略图部分。

您不会从这个客户端获得速度优势,因为必须首先下载整个图像,然后才能为其制作缩略图。

可以只是通过创建img元素创建检索到的图像,缩略图和设置其widthheight到更小的东西;浏览器默认的功能就是缩小图像(不一定非常漂亮)。

例子:

var img = document.createElement('img'); 
img.src = "your image url here"; 
img.style.width = "32px";  // Change as appropriate 
img.style.height = "32px";  // Change as appropriate 
document.body.appendChild(img); // Or append to some other container element 

Live copy

还有我认为这是apprpropriate到形象得到一定的宽度和高度(通常用缩略图,它如果他们都非常有用相同的尺寸,虽然上面的内容会混淆纵横比)。

如果你想调整一个百分比(比如25%),你可以做到这一点,但它更复杂:你必须创建图像,将其加载到屏幕外(有多种方法可以做到这一点),等待负载完成,然后进行计算。


如果您运行的是服务器,您最好找一些可以预处理图像并为您创建缩略图的设备。例如,ImageMagick可以帮助服务器端。