• 締切済み

PHPで画像を作成したい!

OS :RedHat Linux 9 php:バージョンは4系です。 GD関連はインストール済みです。 数値データがあり、そのデータを元に画像を作成したいのですが、 PHPで作成したページを開いた時に数値データを読み込んで 画像を作成し、表示させたいと思っています。 ただ、ページ全体に画像を表示させるのではなく、 決められた箇所に表示させたいのですが、 どういった方法で行えばよいのでしょうか?

みんなの回答

回答No.2

こんにちは。 えっと、一応、PHP・HTMLをある程度理解しているとして答えますね。 私もいまいち、質問の意味がわからないのですが、こんなことでしょうか。 たとえば、ページ上部にカウンターを表示させたい。が、今までのカウンタープログラムではなく、PHPのGDライブラリを使用して表示させたい。 みたいな。 で、画面全体がカウンターではなく、あくまで上の方にだれでも気がつく程度の大きさで。 ま、こんな感じではなくても、どちらにしろPHPのGDライブラリを使って画像を出力するプログラムは画像出力しかできません。 例を挙げますと、以下のソースは円の一部を描くものです。 <? header("Content-Type: image/jpeg"); $img = imagecreate(200,200); $back = imagecolorallocate($img , 255 , 255 , 0); $vaio = imagecolorallocate($img , 255 , 0 , 255); imagearc($img , 100,100,100,100,180,270,$vaio); //print "abcdefg"; ←エラーになる imagejpeg($img); ?> header関数で、これは画像(jpeg)ですよ。という情報をブラウザに送信しています。 このようなプログラムは、画像ファイルと同じ物だ。と考えてプログラムしなければなりません。 一部テキスト・HTMLで一部画像を一つのPHPプログラムが出力することは出来ません。 imagejpeg関数より前に、文字を出力すると画像出力されないでしょう。

すると、全ての回答が全文表示されます。
  • re13b
  • ベストアンサー率58% (18/31)
回答No.1

どういったページにしたいかちょっと解りにくいので、ご希望通りの情報ではないかもしれませんが・・・ 「数値 -> 画像」という情報の変換をするのであれば、複雑な描画は不要ですよね? となると、基本となる正方形のカラーイメージ(base.png)を用意しておいて 読み込んだ数値データに合わせて、その base.png の表示サイズを変えてやれば 棒グラフのようなものが作れます。 表示サイズを変えるのは、php じゃなくて、html で出来ますし。 「決められた箇所に表示」というのがよく解りませんが TABLE で括ってやれば、それっぽい位置に表示できないでしょうか? もしもっと複雑に、ということであれば、イメージ系の関数で直接イメージを描き込むことになります。 imagecreate -> 空イメージを作成 imagecolor -> 色決め imagerectangle/imagearc etc... -> 図形描画 imagepng -> png でファイルに出力 で、できた画像を表示することになります。 こんな回答は、もしかしてハズしてますかね!?

すると、全ての回答が全文表示されます。

関連するQ&A