使用带有SUBSAMPLING OFF的GD库将PNG图像转换为JPEG

时间:2015-06-15 14:13:47

标签: php gd

我想在运行时将png图像转换为jpeg,我系统上安装的唯一库是gd扩展。

我成功地将png转换为jpeg,甚至将透明度转换为白色,唯一的问题是,生成的jpeg具有子采样。

Irfanview输出以下图像信息:“JPEG,quality:100,subsampling ON(2x2)”。 dpi字段也没有填充任何值。

我的jpeg的消费者在显示它们时遇到了问题(它是封闭的软件,我无法在这里做任何遗憾的事情)

没有子采样的普通jpegs以及dpi字段值没有问题的地方。

所以我的问题是,如何摆脱子采样?提前谢谢你!

这是我的代码:

$image = imagecreatefrompng("file.png");
$bg = imagecreatetruecolor(imagesx($image), imagesy($image));
imagefill($bg, 0, 0, imagecolorallocate($bg, 255, 255, 255));
imagealphablending($bg, TRUE);
imagecopy($bg, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));
imagedestroy($image);
imagejpeg($bg);

1 个答案:

答案 0 :(得分:0)

根据https://github.com/libgd/libgd/issues/210

,似乎仍然不可能