【发布时间】:2020-11-11 03:53:42
【问题描述】:
我想即时将 png 图像转换为 jpeg,我系统上安装的唯一库是 gd 扩展。
我成功地将 png 转换为 jpeg,甚至将透明度转换为白色,唯一的问题是生成的 jpeg 具有子采样。
Irfanview 输出以下图像信息:“JPEG,质量:100,子采样开启 (2x2)”。 dpi 字段也没有填充任何值。
我的 jpeg 的消费者在显示它们时遇到问题(它是封闭的软件,可悲的是我无能为力)
没有二次采样的普通 jpeg 并且 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);
【问题讨论】: