是否有任何图片格式支持文件截断(除了 lwf)?

是否有任何图片格式支持文件截断(除了 lwf)?

如果仅取 jpg 或 jp2 或 webp 文件的前导部分,您将得到缺少部分的图像或解码将完全失败。

当我尝试使用 LuraWave 特殊专有左心室射血分数,文件截断只会均匀降低质量(就好像图片最初是用较低质量设置编码的)

哪些其他图片格式支持此功能,即当文件尾部丢失时允许正常降级?

主要思想是存储高质量的图像,然后能够快速地逐渐降低质量(和文件大小),而无需重新编码。

答案1

交错巴布亚新几内亚内部支持这一点。我不知道大多数图像查看器处理纯截断(即缺少标记IEND文件结尾的块)的效果如何,但当保存为隔行扫描时,图像的线条会以这样的顺序保存,以便可以快速加载模糊的图像版本,然后慢慢细化图像,直到加载整个图像。这对于通过慢速连接(拨号、3G)加载图像非常有用,在这种情况下,您希望用户能够看到某物很快,而不是让他们等待才能完整地看到图像。

您可以通过找到一张大图像(壁纸?)并将其保存为隔行 .png 来查看此信息。将文件上传到速度较慢的网络主机,或者使用 Fiddler 等工具模拟较慢的网络连接,然后尝试在浏览器中加载图像。

您首先会获得图像中每 8 行左右的部分,然后获得每 4 行左右的部分,然后是每隔一行,最后获得图像中所有剩余的行。

答案2

这不完全是粗略的文件截断,但可以对 djvu 的 c44 图像进行类似操作:

$ c44 q.ppm q.djvu -bpp 0.05,0.1,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70
$ djvuextract q.djvu BG44=data.iff
BG44=data.iff --> "data.iff" (54286 bytes)
$ djvudump q.djvu  | grep INFO
INFO [10]         DjVu 1023x599, v24, 100 dpi, gamma=2.2
$ djvumake 5.djvu  INFO=1023,599,100 BG44=data.iff:5
$ djvumake 10.djvu INFO=1023,599,100 BG44=data.iff:10
$ djvumake 1.djvu  INFO=1023,599,100 BG44=data.iff:1
$ ls -s --block-size=1 1.djvu 5.djvu 10.djvu 
45056 10.djvu   8192 1.djvu  24576 5.djvu

相关内容