我的.jpg文件比.png文件大?

8

我用微软画图创建了一张15248 x 6552的纯色图片,并将它保存为.png和.jpg两种格式。本来期望.jpg格式比.png更小,但事实并非如此。.jpg文件大小为1.49MB,而.png文件大小只有391KB。按照理论来说,因为jpg是一种有损压缩的格式,所以应该更小才对吧?

我在某个地方读到.png适合处理纯色的图片等等,于是就从网上下载了一张不单色的图片,并将它存成这两种格式。这次.jpg比.png小了。难道仅仅是因为颜色渐变的原因吗?如果是,那为什么呢?

即使图片是单色的,jpg的编码也应该能够压缩得更好才对吧?


2
错误可能在于假设MS Paint是明智、合理、最佳的... - Mark Setchell
您是指全都是同一颜色的图片吗? - user3344003
仅有一种颜色的图像。 - Sylviaa20
3个回答

11

可以预料在这种情况下,PNG比JPEG表现更好。

如其他答案所指出的那样,PNG使用逐行像素预测,然后进行ZLIB压缩。如果图像只有一种颜色,则预测会产生每行像素的恒定零值,除了每行的开头。因此,压缩效果非常好。我敢打赌,如果图像是“横向”的(6552 x 15248而不是15248 x 6552),压缩效果会更好一些。

JPEG压缩将图像分成8x8像素块,并尝试对每个像素块中的低频分量进行精细量化和高频分量进行粗略量化。这对于“自然”(摄影或渲染)图像效果很好,但对于颜色较少(或只有一种)的图像效果不太好。

请参见此处的一些比较


2
不一定。PNG是一种基于预测的算法,它试图根据先前编码的像素推断一个像素的值。我敢打赌,对于一个实心的图像,预测非常准确,因此结果非常好。JPEG接受不同的“质量级别”,这些级别确定了压缩文件的大小。你的实验和网络版本之间的大小差异可能是由于这个原因(除非你下载了不同的图像,当然!)。请注意,JPEG可能会引入一些图像伪影,因为它是一种有损算法,而PNG将为您恢复完全相同的输入图像。

-1

我发现对于同一张图片,如果先保存为PNG,然后再保存为JPG,那么PNG文件会更小;而如果先保存为JPG,然后再保存为PNG,那么后者的文件大小会比前者小。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接