zl程序教程

您现在的位置是:首页 >  其它

当前栏目

最小 base64 图片

图片 最小 base64
2023-09-11 14:17:02 时间

http://www.webhek.com/post/base64-encode-of-1x1px-transparent-gif.html

Base64 Encode 1x1px透明GIF图片

Base64 Encode 1x1px透明GIF图片能干什么?这种图片的特征就是体积最小化,最大限度的减少带宽。而且是透明的,具有隐身作用。用到的场景很多,比如测试浏览器是否支持data URI技术,或用来做一个透明的浮动层,或在lazy load图片时用它来做占位符。

下面就是Base64 Encode 1x1px透明GIF图片的data URI数据,有一天你会用到它们。

透明图片

<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">

黑色图片

<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=">

 

 http://kaifage.com/notes/56/minimum-transparent-image.html

最小尺寸的透明图片

 

按照GIF89a Spec的规范,一张最小的透明图片大小为43字节,去掉颜色表(color table)后的“非规范”图片大小为37字节,这可能是最小的实际使用的透明图片了。如果是非透明的还可以更小。

最小图片的base64使用代码:

<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">

作为标准GIF文件(43字节)的GIF 文件结构解析如下:

  • Header, 6 bytes: 包含 “GIF” 和所采用标准的版本,如 “GIF89a”.
  • Logical Screen Descriptor, 7 bytes: 包含文件大小、颜色表(color table)等
  • Global Color Table, 6 bytes: 对应RGB,每3字节表示一个
  • Graphic Control Extension, 8 bytes: 指明第二类颜色如何处理,如作为透明、动画参数等
  • Image Descriptor, 10 bytes: 位置和大小信息,对动画型gif,可以包含多帧信息
  • Image Data, 5 bytes: LZW 压缩算法的图片数据.
  • GIF Trailer, 1 byte: 文件结束符,3B

via: http://probablyprogramming.com/2009/03/15/the-tiniest-gif-ever

 

--- xw

data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

透明:
data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
黑色:
data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=