• ベストアンサー

PHP4 透過画像を合成する方法を教えてください。

php4で、画像処理についてです。 画像Aと背景画像Bの二つがあり、 背景画像Bの上に画像Aをのせ、 新しい画像として出力する。 ※画像A、Bはpngファイルです。 (gifで合成すると画像のふちが粗くなるのでpngでやりたい) imagecopymergeで、合成まではできたのですが、 画像Aのpngの透過がうまくいきません。 photoshopなどで画像を書き出すときは透過されているのですが、 合成すると、透過されていない状態になってしまいます。 imagesavealphaとかが関係あるのでしょうか? 何卒よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

合成の前に、画像Aのリソースからimagecolortransparentで色抜き処理をしていますか?

参考URL:
http://jp2.php.net/manual/ja/function.imagecolortransparent.php
ewteletele
質問者

お礼

遅くなってしまいすみません。 上記の方法を試してみました。 やはり、透明色をしていできないので、画像Aの背景色を白にして、 imagecolortransparentで色抜き処理をしてみました。 結果として、GIFと同じ透過の処理になりました。 (画像の縁にジャギがでてしまう) pngの透過はできないのでしょうか・・・ アドバイスありがとうございました。 もう少し他にないかまってみようと思います。

ewteletele
質問者

補足

ご回答ありがとうございます。 試してみようと思うのですが、 すでにpngファイルで、色抜きしたい部分を透過で書き出しているのですが、 透明の部分の色をどうしてしたらいいのか分かりません。 逆に白(または黒)バックにして、色指定して抜かないといけないのでしょうか。 まだ試していないのですが、その場合GIFみたいが、縁にジャギができないかが気になります。 試してみてからまた書き込みさせていただきます。

関連するQ&A