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で検索すれば、参考にしたサイトが出てきます。
原因がお分かりでしたら教えてください。
よろしくお願いいたします。
お礼
ありがとうございます。