将jpg保存到png会增加大小

时间:2013-05-19 15:39:25

标签: php image-processing

我使用以下代码将任何格式的图片保存到png

$crawl_outfile = 'webss_' . uniqid() . '.png';
imagepng(imagecreatefromstring(file_get_contents($src)),$crawl_outfile);

它将290 KB的大小增加到1.7 MB。 无法理解的原因。是否有任何方法(参数)来获得更小的图像?

3 个答案:

答案 0 :(得分:4)

JPEG是一种有损压缩格式(图像中的某些细节丢失),而PNG则不是。因此,PNG的文件大小会更大。

PNG可以有效地压缩某些内容,例如相同颜色的大区域。 JPEG更适合压缩照片。

答案 1 :(得分:1)

我对此不太了解但可能是由PNG文件引起的,其中包含有关透明部分的信息..因此它必须更大

如果您想要使用较小的文件大小来更改相同大小的格式,那么无所事事

Here是关于PNG的信息

关于文件大小超过质量。 PNG在处理大块颜色方面比JPG更好

答案 2 :(得分:1)

PNG代表便携式网络图形。它精确地存储像素,其压缩技术最适用于像素图和具有大面积纯色的屏幕截图。对于连续色调图像(即照片),其中颜色在每个像素之间稍微改变,它不能非常地压缩它们。方便的OptiPNGPngCrush工具可以稍微减小PNG文件的大小,但简短的回答是,您永远不会将PNG照片缩小到JPEG的大小。

JPEG代表联合摄影专家组。它专为连续色调图像而设计,并且非常压缩它们。另一方面,它的有损压缩技术失去了被人们注意到的太微妙的颜色细节,并且它很难对付with sharp edges

另外请注意,PNG支持透明度,调色板图像和动画,但JPEG不支持,但JPEG具有更复杂的元数据支持,以及(很少支持)无损模式。所以这两种格式各有各的怪癖。要最小化文件大小,您需要根据图像的视觉特征选择格式。基本上,将JPEG用于照片,将PNG用于其他所有内容。