※ ChatGPTを利用し、要約された質問です(原文:GD.pmでアルファチャンネルを持ったPNG合成がうまくいきません)
GD.pmでアルファチャンネルを持ったPNG合成がうまくいかない
このQ&Aのポイント
GD.pm 2.32 + Perlを使用して、アルファチャンネルを持ったPNG合成を試みていますが、うまくいきません。
アルファチャンネルの部分がスムーズに合成されず、透明ではないドットのように合成されます。
合成したいPNGイメージには、赤い四角の画像と白い丸の画像(境界線はアルファチャンネルを持つ)が含まれています。
GD.pmでアルファチャンネルを持ったPNG合成がうまくいきません
GD.pm 2.32 + Perlで、二つのPNG画像合成を試みています。
しかしpngのアルファチャンネル部分がスムーズに合成できません。
以下のソースで合成はできたものの、アルファチャンネル部分が透明ではない通常のドットとして合成されます。
1.png・・・赤い四角い画像
2.png・・・白い丸画像で、境界線はアルファチャンネル(PNG32)
-----ここから
$png_image = "1.png";
$png_image2 = "2.png";
$image = new GD::Image(100,100);
$image2 = newFromPng GD::Image($png_image);
($image2_width,$image2_height) = $image2->getBounds() ;
$image->copy($image2,0,0,0,0,$image2_width,$image2_height);
$image3 = newFromPng GD::Image($png_image2);
($image3_width,$image3_height) = $image3->getBounds() ;
$image->copy($image3,0,0,0,0,$image3_width,$image3_height);
$image = &image_tranparent_comp($png_image, 1, 1, $image);
print "Content-type:image/png\n\n";
binmode STDOUT;
print $image->png;
-----ここまで
文字数の関係で「&image_tranparent_comp」を省略しています。
Googleで検索すれば、参考にしたサイトが出てきます。
原因がお分かりでしたら教えてください。
よろしくお願いいたします。
お礼
なるほど! ありがとうございました。m(_ _)m