0

他の投稿の例を使用して、透明な部分を持つ 1 つの PNG を別の非透明な PNG とマージしようとすると、前景の PNG の透明度が失われ、デフォルトで白になります。

これまでのコード:

$width = 349;
$height = 250;

$base_image = imagecreatefrompng($_GET['bg']);
$top_image = imagecreatefrompng($_GET['fg']);
$merged_image = "merged.png";

imagesavealpha($top_image, true);
imagealphablending($top_image, true);

imagecopy($base_image, $top_image, 0, 0, 0, 0, $width, $height);
imagepng($base_image, $merged_image);

誰かが私が間違っているかもしれない場所を提案できますか?

こう出てくる このように出てくる この このように見えるはずです ように見えるはずです

4

2 に答える 2

0
 $image = imagecreatefrompng($_GET['bg']);
 $frame = imagecreatefrompng($_GET['fg']);

 imagealphablending($frame,true);
 imagecopymerge($image, $frame, 0, 0, 0, 0, 0, 100, 100);

 # Save the image to a file
 imagepng($image, 'file-xyz.png');
于 2012-06-28T13:31:08.630 に答える
0

PHPのGDlibimagecopyresampledを使用する場合、PNG画像の透明度を維持できますか?

コードは次のようになります。

imagesavealpha($base_image, true);
imagealphablending($base_image, false);
于 2012-06-28T13:04:48.467 に答える