在另一张透明图片上覆盖一个透明图片的复制品

6

我正在尝试将一张图片(a.png)复制到另一个文件中。两个文件都含有透明度。在保存时,a.png会显示为白色背景。

$base=imagecreatefrompng("base.png");
imagealphablending( $base, false );
imagesavealpha( $base, true );
$temp=imagecreatefrompng('a.png');
imagecopymerge($base,$temp,64,144,0,0,16,16,100);
1个回答

10

试试这个:

$base=imagecreatefrompng("base.png");
imagealphablending( $base, true );
imagesavealpha( $base, true );
$temp=imagecreatefrompng('a.png');
imagecopy($base,$temp,64,144,0,0,16,16);

1
@GUIpsp 试着在这个页面上运行这个函数:http://www.exorithm.com/algorithm/view/overlay_image。这是你要找的效果吗? - Mike C
是的,就是这样,我使用了imagecopymerge而不是imagecopy,谢谢! - GUIpsp
对我来说不起作用,$temp 中的所有透明像素都被复制成黑色。使用 imagecopy()、imagecopymerge() 和 imagecopymerge_alpha() 都是如此。 - Curtis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接