这是一篇总结文,作为一名刚入行的设计小白来说,我曾被图片格式困扰,查阅许多资料之后,对JPEG以及PNG有了更深刻的了解,希望这篇文章能对新入行的设计师有所帮助,当然如果文中有错误之处还望各位大神批评指正。
某日,程序员拿了一张色彩信息丰富且不带透明通道信息的.jpg图片给我,要求我存储为200k的.png格式的图。作为一名虽然用了很久PS但是从没研究过图片格式的小白,我毫不犹豫的打开PS开始存储,奈何无论如何存储都达不到要求,且存储为.png格式后图片大小不降反增。最终我找到了一个解决方法,就是首先将该图片存储为200K的.jpg格式文件,再通过直接修改图片后缀名的方式将图片改为了.png格式,于是一张满足要求的200K的.png格式的图片诞生了,而且用起来似乎并没有什么不对。可是在之后想要用PS打开编辑的时候却出现了无法打开的情况。
那么我如上的操作存在哪些问题呢?希望看了接下来的文章能对你有所帮助。
PNG的压缩特点
PNG(Protable Network Graphics)便携式网络图形,是一种无损压缩的位图图形格式。无损压缩的.png文件采用从LZ77派生的无损数据压缩算法进行压缩,采用特殊的编码方式记忆重复出现的数据,对图像的颜色既没有影响,也不产生损失。
PNG有8位、24位、32位3种形式。
PNG8:索引彩色模式PNG8,采用8位调色板将RGB彩色图像转为索引彩色图像。图像中保存的不再是各个像素的彩色信息,而是从图像中挑选出具有代表性的颜色编号,每一编号对应一种颜色,图像的数据量也因此减少。PNG8支持两种不同的透明形式,即透明和不透明。(将含有半透明信息的椭圆存储为PNG8格式以后得到的椭圆变成了不透明的)
PNG24:可以存储丰富的色彩信息,但是不支持透明通道。
PNG32:在PNG24的基础上增加了8位透明通道,因此可展现256级透明程度,可以存储包含不同透明程度的图像。值得注意的是在PS软件中使用“存储为”的方式存储的图像其实是PNG32的。
PNG24与PNG32的区别仅仅是PNG32比PNG24多了8位透明通道,所以在存储图像时,采用存储为web所用格式中,存储为PNG-24并勾选上透明以后得到的就是包含半透明信息的PNG-32格式的图片。
其中8、24、32代表代表该格式最多可以索引和存储的的颜色值(如PNG8为2的8次方=256色)。
如何判断一张图片是PNG几呢?
1.可以通过右键点击在图片属性详细信息中的位深度来判断。
2.在PS中打开PNG图片,PNG8会出现索引字样,而PNG24和PNG32则不会。
PNG与JPEG各自存储图像的特点
JPG全名JPEG,以24位颜色存储单个位图,支持最高级别的压缩,不过是有损压缩。对于色彩信息丰富的图像(如照片),JPEG可以实现高达100:1的压缩。但是对于色彩信息较少,轮廓较清晰,对比较强烈的简单作品,jpg压缩方案则不能很好的处理(深入可了解JPG的编码方式)。
对于低对比、图像颜色过度平滑、噪声多且不规则的图像如果采用PNG代替JPEG文件则尺寸会增大很多,图像质量提高有限(此处解释了为什么我不能按照程序员的要求存储出200K的.png图像)
由于不同格式的PNG能容纳的色值不同,对于文本、线条或类似的边缘清晰、有大块相同颜色区域的图像,PNG8格式的压缩效果相比之下就要好的多。但对于色彩信息丰富且包含透明通道或者包含半透明通道的图像来说PNG-32则是更好的选择。
如上,就基本可以说我们的程序员对我提出了不切实际的需求,因为色彩丰富且不包含透明信息的图像根本没有必要存储为PNG格式。
那么为什么通过修改后缀的方式来修改图片格式是行不通的呢?因为文件不只根据文件名后缀判断类型,一般文件内容开头都会有一个文件类型的标记其中包含大小、类型等许多信息,因此修改了文件的后缀名称后并没有修改文件的类型,相当于换了一个叫法而已。此用PS打开该图片PS是识别不出来的,因为文件类型标记与后缀名不一致,所以PS会报格式模块无法解析的错误提示。这也就解释了为什么你会看见带有透明信息的.jpg图片,以及为什么会有会动的.jpg图片。通过将图片修改为正确的格式可以解决PS等软件打不开的问题。
最后可能有人会问,那么不包含透明信息的PNG-24和JPEG存储色彩丰富的图像时哪一个更好呢?
这又回到了最开始的问题,JPEG更适合压缩色彩信息丰富的图像,而PNG则更适合压缩色彩信息较少,轮廓较清晰,对比较强烈的简单作品。PNG-24也是PNG的一种啊~
Ask a Question?那么什么样的图像适合存储为不包含透明信息的PNG-24的图像呢?