HOME   入り口   MENU


No27.画像作っちゃった♪ ---- GDライブラリ[1]




PHPには画像を扱う関数がたくさん含まれています。
それを使うためにはGDライブラリがインストールされていて
使えるようになっているか(PHPのコンパイルに含まれているか)
確認しましょう。

phpinfoで確認してみるか
分からない時はお使いのサーバの管理者に聞いてみるといいと思います(^_^)
phpinfoは
<?php
phpinfo();
?>
と書いて確認してみてくださいね。
上のほうにある
Configure Command に--with-gd
とあればGDを使うことができます。

GDでは画像の作成や操作ができます。
PHPマニュアルを読むと
関数などいろいろありますので参考にしてみてくださいねっ

では画像の作成をやってみましょう(^o^)丿
(1)画像領域の作成 画像ID=imagecreate(画像幅,画像高さ);
(2)画像で使用する色を作成する 色ID=imagecolorallocate(画像ID, RGBのRed, RGBのGreen, RGBのBlue);
(3)png画像を作成 imagepng(画像ID);
(4)色リソースの開放 imagecolordeallocate (画像ID,色ID);
(5)画像リソースの開放 imagedestroy(画像ID);

という手順になります。

<?php
$image = imagecreate(200, 200);
$black = imagecolorallocate($image, 0, 0, 0);
imagepng($image);
imagedestroy($image);
?>


と書いたものはこちら   (ソース)


そしてそして!!
こんな風にイメージタグで呼び出すこともできます。
<img src="./php2004010301.php" height=100 width=100>




イメージタグで呼び出せるのって便利ですよねっ(^_^)

え?■だけでよく分からない?

じゃあ線を引いてみましょう。
線を引く imageline(画像ID,開始x座標,開始y座標,終了x座標,終了y座標,色ID);

こちら   (ソース)


<img src="./php2004010302.php" height=100 width=100>






赤背景に白い斜め線を引いてみました。(^_^)

そうそう。
imagecolorallocate()は最初の呼び出しで背景色(上の例だと赤)が設定され
その次の呼び出しから使う色の宣言になります。
ちょっと注意点ですね。(^_^)

四角とか丸も描いてみましょう。
四角を描く imagefilledrectangle(画像ID,開始x座標,開始y座標,終了x座標,終了y座標,色ID);
丸を描く imagefilledellipse(画像ID,中心x座標,中心y座標,幅,高さ,色ID);

こちら   (ソース)


<img src="./php2004010303.php" height=100 width=100>






楽しいですね。

その他にもいろいろな図形が描けるので
PHPマニュアルを読んで
いろいろやってみるといいと思います。


サンプル: こう書くと   ==>    こうなる!

描く



(オマケ)
画像の作成でimagepngを使いましたが
JPEG画像のときはimagejpegとします。
GDライブラリバージョン1.6以降でGIFサポートが完全に削除されたので
現在のGDライブラリではこの関数を使用することは できません。











  HOME