我有一个PNG,我正在尝试将其合并到JPG之上。使用以下代码
$dest = imagecreatefromjpeg("example.jpg");
$src = imagecreatefrompng("example.png");
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagealphablending($src, true);
imagecopymerge($dest, $src, $src2x, $src2y, 0, 0, $src2w, $src2h, 100);
header('Content-Type: image/png');
imagepng($dest, "user/".$imei."/".$picCount."_m");
imagedestroy($dest);
imagedestroy($src);
以下结果
我还尝试了suggestion from a similar question,据说使用'imagecopyresampled'而不是'imagecopymerge',但是当我这样做时,圣诞老人的帽子根本没有出现。
我需要更改什么才能让圣诞老人的帽子在合并时保持透明度?
答案 0 :(得分:10)
使用'imagecopyresampled'都需要解决方案。还可以从发布的源代码中删除第4行和第5行。
imagealphablending($dest, false);
imagesavealpha($dest, true);
这是完整的工作版本
$dest = imagecreatefromjpeg("example.jpg");
$src = imagecreatefrompng("example.png");
imagecopyresampled($dest, $src, $src2x, $src2y, 0, 0, $src2w, $src2h, $src2w, $src2h);
header('Content-Type: image/png');
imagejpeg($dest, "user/".$imei."/".$picCount."_m.jpeg");
imagedestroy($dest);
imagedestroy($src);