从图像中提取缩略图而不读取整个内容?

时间:2014-04-05 15:07:30

标签: javascript google-chrome-app

在Chrome应用程序(打包的应用程序)中,我有FileEntry对象代表JPEG图像,我想将它们显示为缩略图。但是,似乎使用FileEntry.file方法完全访问图像数据的唯一方法是生成File(Blob的子类)。由于某些图像大于4MB,这对于在窗口中显示50个缩略图来说效率太低。

我是否认为没有用于访问缩略图的API,或者我是否缺少某些HTML5或Chrome API?

[澄清:当我说“提取缩略图”时,我的意思是只读取缩略图数据,这几乎是所有JPEG中的内容。我不是指提取主压缩的JPEG数据并显示缩略图大小,也不是指读取二进制数据并拉出代表缩略图的部分,因为这仍然意味着将整个文件读入内存。]

2 个答案:

答案 0 :(得分:0)

作为一般命题,可以在不解压缩图像的情况下读取缩略图。

缩略图的位置取决于使用的特定JPEG文件格式。 JPEG本身不定义缩略图。

那就是说,我的经验是很少有JPEG文件实际上包含缩略图。

我会检查文件格式标题(例如,EXIF,JPEG)以查看图片中是否有缩略图。

您可能必须自己从标题中提取缩略图。在JFIF中,缩略图可以是未压缩的,也可以是嵌套的JFIF流。

答案 1 :(得分:0)

从sowbug到我的OP的评论是我正在寻找的答案。