GDと組み合わせてPHPで次のことを行いたいと思います。 ImageMagickはオプションではありませんが、残念ながら、これはよくある問題のようです。にはがあります。私はそれを見つけることができません。PHP/GD - 透明な背景
透明な背景のPNGを作成したいと思います。次に、その上に矩形を描き、イメージをコピーしてテキストを追加したいと思います。これは、黒かもしれませんコピーした画像の一部を除いて、正常に動作し、および/またはテキストが黒であるかもしれない
$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);
次のようにこれを行う1つの方法です。これもまた透明になります。これは何かではないが必要です。
imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);
上記のコードは、私がオンラインで見つけたもので、赤で塗りつぶして赤を透明にします。この場合も、画像内のすべての赤色が透明になります。私は起こりそうにない色を選ぶことができましたが、これを保証することはできません。
紛失しているものがありますか?これは修正できますか? あなたの返信ありがとう!
imagealphablendingのデフォルト値をtrueに真のカラー画像に、これはまた:) 異なる何もしませんので、imagecreatetruecolorはなぜある黒画像を作成し、コードの最初の部分はimagecolortransparent(0)を使用します。 – Spinal
その場合、私はあなたの問題を見ることができません。私は中央に黒い四角形を描くことによって上記をテストしました。そして、周囲の透明度でうまく動作しています。 –
本当ですか?私は次のコードを試してみると、それを取り巻く黒色の青い四角形が表示されるので、何かが間違っている可能性があります。 $ image = imagecreatetruecolor(800,600); imagealphablending($ image、true); imagefilledrectangle($画像、50,50,750,550、imagecolorallocate($ image、0,0,128)); header( 'コンテンツタイプ:image/PNG'); imagepng($ image); – Spinal