2

在我的项目中,我需要合并两张图片。

第一个(img.png):

img http://uoops.ru/1/img.png

和(例如)第二个(photo.png):

img http://uoops.ru/1/photo.png

这是PHP代码:

$photoImage = ImageCreateFromPNG("img.png");
ImageAlphaBlending($photoImage, true);

$logoImage = ImageCreateFromPNG("photo.png");
$logoW = ImageSX($logoImage);
$logoH = ImageSY($logoImage);
ImageCopy($photoImage, $logoImage, 1, 1, 0, 0, $logoW, $logoH);

ImagePNG($photoImage, "mrkr.png", 0);

结果我想要这个:

http://uoops.ru/1/result.png

但我有这个:

http://uoops.ru/1/mrkr.png

我怎样才能解决这个问题?

4

1 回答 1

0
$photoImage = ImageCreateFromPNG("img.png");

$w = imagesx($photoImage);
$h = imagesy($photoImage);
$out = imagecreatetruecolor($w, $h);
ImageAlphaBlending($out, true);
imagefill($out, 0, 0, imagecolorallocatealpha($out, 0, 0, 0, 127));
imagesavealpha($out, true);

ImageCopy($out, $photoImage, 0, 0, 0, 0, $w, $h);

$logoImage = ImageCreateFromPNG("photo.png");
$logoW = ImageSX($logoImage);
$logoH = ImageSY($logoImage);
ImageCopy($out, $logoImage, 1, 1, 0, 0, $logoW, $logoH);
ImagePNG($out, "mrkr.png", 0);

这并没有真正优化,但应该可以工作

于 2014-01-31T16:18:51.763 回答