• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像描画と一般の関数は同じphpファイルには書けないのでしょうか? )

phpで画像描画と一般の関数を同じファイルに記述する方法

このQ&Aのポイント
  • phpで画像描画と一般の関数を同じファイルに記述する場合、文字化けなどの問題が発生し、うまく表示されないことがあります。
  • 以下のコードでは、画像描画の関数と一般の関数を同じファイルに記述していますが、黒い図形のみが表示されます。
  • 解決するためには、画像描画の関数と一般の関数を別のファイルに分けて記述するか、画像描画の関数を最初に実行するようにする必要があります。

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

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

png画像としてデータを出力しているのでtestprint1()、testprint2()で出力している文字列も画像データとみなされます。期待している文字列が出力されないだけでなく、期待している画像も出力されないはずです。 そもそもprintを使っても画像に文字を埋め込むことはできません。 画像に文字列を埋め込むには、imagestring()を使います。 尚、日本語を扱いたい場合はimagestring()ではなくimagettftext()を使う必要があります。 http://jp2.php.net/manual/ja/function.imagestring.php http://jp2.php.net/manual/ja/function.imagettftext.php さらに、imagecreatetruecolor()で作成した画像の背景は元々が黒で、imagecolorallocate()の最初のコールにて背景色を設定することはできないようです。 同じ大きさの矩形で塗りつぶすか、imagecolortransparent()で初期状態における背景色(黒)を透過色に定義することで背景色を設定することができます。 http://jp2.php.net/manual/ja/function.imagecolortransparent.php

-q7P2izb__
質問者

お礼

早速のご回答どうもありがとうございます。 画像として出力しているので、testprint1(),testprint2()が、 正常に動作しないのですね。詳しく書いていただき、誠にありがとうございました。