此GIF文件的标题与其正文不符.
图像尺寸存储在第6到第9个字节,从屏幕截图可以看出,标题中的尺寸为00C8 x 00AB,为200×171,但实际尺寸为200×160
所以这张图片是无效的.没有标准化的行为解析无效的gifs,这就是为什么有这种不一致.
在完全下载之前,大部分Firefox都可以预先分配图像,当图像完全下载时,它将被放入预分配空间的中心.并且由于预先分配的空间是200×171,但实际的图像是200×160,您将看到一个边框.
编辑:经过GIF格式参考,看来GIF确实允许这一点.所以图像是有效的.所以这里是实际发生的事情:
GIF格式由几个块组成.有一个标题块和一个或多个(如果图像是动画)图像块(也可能有其他块,但它们没有与问题相关).标题块包含有关图像的一些信息,包括它的宽度和高度.然而,每个图像块都具有自己的宽度和高度.那么所讨论的图像会发生什么,它的主要图像尺寸为200×171,但是尺寸为200×160的单幅图像.因此,大多数不支持动画GIF的编辑程序和库将提取第一帧并显示200×160的大小,支持动画的浏览器和编辑器应以200×171的大小显示.
PS每个图像块都有图像顶部和图像左侧位置.似乎通过允许框架比画布更小,并允许框架在画布上移动框架,GIF的开发人员试图刮擦几个字节的动画GIF文件.我想知道是否有任何现代图形编辑器利用这个…可能不…
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!