GDと組み合わせてPHPで次のことをしたいです。残念ながら、ImageMagick はオプションではありませんが、これは非常に一般的な問題のようで、解決策が必要なようです。
背景が透明なPNGを作りたいです。次に、その上に長方形を描画し、その上に画像をコピーして、テキストを追加します。これを行う 1 つの方法は次のとおりです。
$image = ImageCreateTrueColor (800, 600);
imagecolortransparent ($image, 0); //0 is pure black, the default fill color
imagerectangle (...);
//code to copy an image
imagettftext ($image, ...);
imagepng ($image);
これは正常に機能しますが、コピーされた画像の一部が黒くなったり、テキストが黒くなったりする場合があります。これも透明になりますが、これは望ましくありません。
imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);
上記のコードは、オンラインで見つけたもので、赤で塗りつぶしてから赤を透明にします。繰り返しますが、これにより、画像内のすべての赤が透明になります。起こりそうにない色を選択することはできますが、これを保証することはできません。
足りないものはありますか?これは修正できますか?返信ありがとうございます。