我想在运行时将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);