png格式用什么打开(png电脑可以打开吗)
如何理解PNG的格式和他们用的算法,和jpeg有什么区别呢?我们可以看看
PNG是便携式网络图形( Portable Network Graphics)的缩写,由于PNG带有透明通道,无损压缩,可提升设计元素的呈现效果,因此设计上对PNG情有独钟,广泛的运用在设计、游戏、网页、app开发里,实际使用上由于存在很多误区,导致被滥用,这里对之前学习png的心得做个整理。
首先,PNG和诞生跟GIF格式有较大关系,这中间有很多趣事,可自行查阅。PNG的压缩过程是完全无损的,压缩过的文件可以准确地还原出原图,可封装多种pixfmt格式的数据,并且是一种可扩展的封装格式,
PNG文件格式里面包含不同的区块(chunks),各个区块带有不同类型的数据。典型的PNG数据包括四部分,而在此基础上,增加acTL(动画控制块)、fcTL(帧控制块)、fdAT(帧数据块)即为APNG动图格式。PNG Signature(PNG签名块,包含PNG类型的标识)IHDR(图像头部块,包含图片的宽度、高度、位的深度和颜色类型)IDAT(图像数据块,像素压缩后的数据)IEND(图像结束块,PNG结束标识)2.PNG文件解析
PNG图像格式文件由一个8字节的PNG文件署名(PNG signature:0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A)和按照特定结构组织的3个以上的数据(chunk)组成。PNG定义了两种类型的数据块,一种是称为关键数据块(critical chunk),这是标准的数据块,另一种叫做辅助数据块(ancillary chunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块,虽然PNG文件规范没有要求PNG编解码器对可选数据块进行编码和解码,但规范提倡支持可选数据块。
2.PNG文件解析
PNG图像格式文件由一个8字节的PNG文件署名(PNG signature:0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A)和按照特定结构组织的3个以上的数据(chunk)组成。PNG定义了两种类型的数据块,一种是称为关键数据块(critical chunk),这是标准的数据块,另一种叫做辅助数据块(ancillary chunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块,虽然PNG文件规范没有要求PNG编解码器对可选数据块进行编码和解码,但规范提倡支持可选数据块。
每个数据块按如下方式排列,包括数据块 内 数据长度、块类型、块数据和CRC校验码。
一个典型的PNG文件的十六进制如下:
(1)PNG signaturePNG signature为固定的8个字节0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A(2)IHDR文件头数据块IHDR(header chunk,13个字节)包含PNG文件中存储的图像数据的基本信息,包括分辨率、比特深度、色彩模式、压缩方法,是非常重要的数据块,必须作为第一个数据块出现在PNG数据流中,而且一个PNG数据流中只能有一个文件头数据块。
(3)IDAT图像数据块IDAT(image data chunk)存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。IDAT存放着图像真正的数据信息,因此,如果能够了解IDAT的结构,我们就可以很方便地生成PNG图像。生成IDAT需要先经过Filter(具体算法由IHDR指定),再经过Deflate(具体算法由IHDR指定)(4)IEND图像结束数据IEND(image trailer chunk)用来标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。如果我们仔细观察PNG文件,我们会发现,文件的结尾12个字符看起来总应该是这样的:00 00 00 00 49 45 4E 44 AE 42 60 82由于IEND数据块的长度是0(00 00 00 00,除非人为加入信息),数据标识总是IEND(49 45 4E 44),因此,CRC码也总是AE 42 60 82。3.Filter
IDAT的压缩过程主要包括Filter和deflate两部分,Filter即对像素做过滤,PNG编码使用差分对原始像素数据进行Filter,该过程无任何压缩损失,并且完全可逆。对图像来说,存储残差所需的比特远远小于实际图像所需,这也是差分编码的收益来源。
差分编码原理如下,对于每一行像素点X,使用左、左上、上的三个像素来进行约束,对于不同的内容,须使用不同的Filter类型来提升压缩收益。
PNG在压缩时,对每行的图像以byte为单位进行filter,如图像为真彩色RGBA图像,则先对R分量进行filter,再依次对G、B、A进行Filter[5]。4.deflate
PNG中的Deflate与gzip、zlib中的deflate原理一样,结合了LZ77和Hoffman算法。Ziv和Lempel于1977年发表《A Universal Algorithm for Sequential Data Compression 》进行像素数据的压缩,定义了一种编码标准而没定义具体实现,后来称为LZ77算法,LZ77压缩算法采用字典的方式进行压缩,是一个简单但十分高效的数据压缩算法。其方式就是把数据中一些可以组织成短语(最长字符)的字符加入字典,然后再有相同字符出现采用标记来代替字典中的短语,如此通过标记代替多数重复出现的方式以进行压缩。Hoffman是一种变长编码,即用少的bit数表示出现概率大的数据。deflate算法用在压缩图片数据上,有以下特点:Deflate算法只能匹配3到258个之间符号,所以最大的压缩比只能到1035:1;如果匹配到的符号小于3,那么你会产生一些额外的开销来表示这些符号;上面的这两点意味着实际图片大小会受到每一行像素的匹配程度影响。
悦刻电子烟怎么购买,悦刻电子烟代理商加盟招代理如今成为服务全球用户的知名品牌,一直是很多创业公司的愿景和目标。从苹果华为GE和宝洁,到阿里巴巴和腾讯,都成为了全球知名的品牌。目前,在炙手可热的电子烟行业中,已走出一个蜚声全球的
20斤等于多少克(20斤等于多少kg)周末,如果你去超市里面买了两个蟠桃。价签上面打着净含量0。188kg,售价7。48元。回到家里,家长问这桃子多少钱一斤?然后你一下子就懵了,因为你买的时候上面打的是公斤。你拿起价签
学步鞋什么牌子好(世界十大懒人鞋品牌)前些天,我整理了一份你最喜欢童装品牌清单,评论区有家长留言急需最喜欢童鞋品牌,(图片来源pexels)所以,我又去搜集了童鞋推荐,很多热心妈妈来分享,今天我把清单整理出来了。以下这
老年机哪个牌子好(老年智能机推荐2021)关于老年机,我觉得还是授人以鱼不如授人以渔,给大家讲讲如何购买老年机,而不是简单地推荐具体的手机。买老年机主要看父母的需求是什么?也就是说对方拿手机做什么?主要有下面几种类型1手机
可信网站认证多少钱(网站实名认证)30元就能办假身份资料进行实名认证108元就能买到全套生活照和视频。近日有媒体报道,由于一些婚恋网站会员注册门槛低,背后隐藏的黑色交易十分活跃。去年苏享茂疑遭骗婚一事再次将婚恋网站
武汉的区号是多少(武汉交管12123人工客服电话)交管12123人工客服电话是多少12123,这就是它的客服电话。交管12123app是公安部构建的面向公众的互联网交通安全综合服务管理平台,通过网页手机APP短信语音电话等多种方式
清远哪里好(清远其他地方)我是小玩家,一个自驾游爱好者,喜欢体验各种不同方式的户外自驾游活动,同时也组建了一个专注户外自驾游约伴分享平台喜欢户外出游自驾的朋友可以我,自驾小玩家俱乐部与你同行,欢迎大家哦!上
南昌西站在哪里(南昌防疫中心电话24小时电话)抚州市乐安县发出了关于排查密切接触者的接触人员的公告抚州乐安县关于排查密切接触者的接触人员的公告2021年8月12日,乐安县疾控中心接到抚州市疾控中心转来湖北省疾控中心协查函,同时
小鲜牛潮汕牛肉火锅加盟费多少钱总部优惠一每日前10位来电咨询者可获得万元创业大礼包!优惠二每日前20位来电咨询者立享新品套餐详情及设备优惠!选址培训设备店面一站式搞定全程扶持1店赚6店钱餐饮行业是很多人都想投资的,
好健时旗下的无限能怎么样?给你带来不一样的养生体验!关于养生,很多人都更加相信中医养生。中药养生,可以追溯到四五千年前的炎帝神农氏时期,记载了无数经验,且到了现代,中药应用方式更加多元化,得到众多人的信赖。就比如好健时旗下的无限能,
18楼层有什么说法吗(18楼在风水里代表什么)照这么说,哪层都不能住了,只能睡马路!因为1穷2白,丢3落4这些楼层的房子能买吗?有人说18层不吉利,听上去像是地狱有人说4层谐音难听,更加不喜欢了我只能说中华文化博大精深!你打开