我正在尝试构建一个上传器,它分两步上传渐进式文件:
- 上传创建缩略图所需的最小字节数 (0-10%)
- 上传缩略图的其余字节。 (11%-100%)
我希望这样做可以更早地提供缩略图,而无需上传单独的缩略图。
拍摄使用以下命令创建的图像(3426398 字节)jpegtran -copy all -progressive -outfile progressive.jpg original.jpg
然后取出前 350000 字节dd if=progressive.jpg of=thumb.jpg bs=1 count=350000
我得到了一个可以使用的缩略图。
- 原来的:https://dl.dropbox.com/u/5910/thumbtest/progressive.jpg https://dl.dropbox.com/u/5910/thumbtest/progressive.jpg
- 缩略图:https://dl.dropbox.com/u/5910/thumbtest/thumb.jpg https://dl.dropbox.com/u/5910/thumbtest/thumb.jpg
有没有办法找出我必须传输多少字节才能获得所有行都可用的图像?因此只会损失图像质量?
渐进式 JPEG 图像由一系列“扫描”组成。每次扫描为每个 MCU 块提供逐渐更多的信息(更多 A/C 系数)。第一次扫描通常只是每个 MCU 的 DC 值。这恰好是获得 1/8 大小缩略图的完美信息量。
在 JPEG 文件中,每次扫描均以 FFDA 的 SOS(扫描开始)标记开始。为了了解完全保存第一次扫描需要多少数据,只需搜索第二次扫描开始的文件数据(第二个 FFDA 标记)即可得到答案。由于标记字节规则,2 字节序列 FF DA 只能是 SOS 标记。需要对值 FF 后跟 DA 进行编码的压缩数据必须编码为 FF 00 DA。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)