ポンクソフト

GDの基本 - PHPでGDを使ってみよう

前ページ PHPでGDを使ってみよう TOP 次ページ

目次

  1. PHPでGDを使ってみよう
  2. GDの基本
  3. フォームとの連動
  4. アンケートで円グラフ

初めてのGD

GD で画像を動的に作成し、ブラウザに出力する方法を学びます。

プログラムの作成

以下のソースを入力してください。
<?php
header("Content-Type: image/png");
$img = imagecreate(200, 200);
imagecolorallocate($img, 255, 0, 0);
imagepng($img);
?>
入力が終わったら「gd1.php」というファイル名で保存し、サーバにアップして実行してみてください。真っ赤な画像が 200 × 200 ピクセルの大きさで表示されます。

ソースの解説

header("Content-Type: image/png");
ここはGDとは直接関係ありませんが、HTTPヘッダとして、PNG 画像を出力するように設定している部分です。Content-Type ヘッダは、ブラウザ側にファイルの種類を教えるものです。普通の HTML を出力するときは、自動的に text/html(テキストファイルでHTMLを出力する)が設定されています。
$img = imagecreate(200, 200);
imagecreate は新規画像を生成する関数です。ここではサイズを 200 × 200 とし、作成された画像の画像IDを返します。
imagecolorallocate($img, 255, 0, 0);
imagecolorallocate 関数は、画像で使う色を作成します。一番最初にこの関数が呼ばれたときの色が背景色になるようです。第1引数に画像IDを指定し、第2~第4引数にそれぞれ赤・緑・青の輝度(0 ~ 255)を設定します。
imagepng($img);
引数で指定された画像IDの画像を、PNG フォーマットでブラウザに出力します。imagejpeg 関数なら JPEG フォーマットで出力できます。GIF 画像は最近の GD では使用できません。

GDのいろいろな機能を使う

文字・直線・楕円・円弧・四角などを描画してみます。

プログラムの作成

以下のソースを入力してください。
<?php
header("Content-Type: image/png");
$img = imagecreate(200, 200);
imagecolorallocate($img, 100, 0, 0);
$col = imagecolorallocate($img, 255, 255, 0);
imagestring($img, 3, 10, 10, "Hello GD!", $col);
imageline($img, 10, 25, 190, 25, $col);
$col = imagecolorallocate($img, 255, 200, 100);
imagefilledellipse($img, 100, 110, 160, 140, $col);
$col = imagecolorallocate($img, 255, 255, 255);
imagefilledrectangle($img, 60, 60, 80, 100, $col);
imagefilledrectangle($img, 120, 60, 140, 100, $col);
$col = imagecolorallocate($img, 200, 100, 100);
imagefilledarc($img, 100, 120, 120, 100, 0, 180, $col, IMG_ARC_PIE);
imagepng($img);
?>
入力が終わったら「gd2.php」というファイル名で保存し、サーバにアップして実行してみてください。顔のグラフィックスが表示されます。

ソースの解説

$col = imagecolorallocate($img, 255, 255, 0);
GD で使用する色を作成します。ここでは、文字を描画するための黄色を作成しています。
imagestring($img, 3, 10, 10, "Hello GD!", $col);
imagestring は文字を描画する関数です。第1引数で画像IDを指定して、第2引数でフォントの種類(1 ~ 5)、第3、第4引数で表示する位置、第5引数で文字列、第6引数で色を指定します。
imageline($img, 10, 25, 190, 25, $col);
imageline は直線を描画する関数です。第1引数で画像IDを指定して、第2~第3引数で始点、第4~第5引数で終点、第6引数で色を指定します。
imagefilledellipse($img, 100, 110, 160, 140, $col);
imagefilledellipse は塗り潰した楕円を描画する関数です。第1引数で画像IDを指定して、第2~第3引数で中心、第4引数で幅、第5引数で高さ、第6引数で色を指定します。
imagefilledrectangle($img, 60, 60, 80, 100, $col);
imagefilledrectangle($img, 120, 60, 140, 100, $col);
imagefilledrectangle は塗り潰した四角形を描画する関数です。第1引数で画像IDを指定して、第2~第3引数で始点、第4~第5引数で終点、第6引数で色を指定します。
imagefilledarc($img, 100, 120, 120, 100, 0, 180, $col, IMG_ARC_PIE);
imagefilledarc は塗り潰した円弧を描画する関数です。第1引数で画像IDを指定して、第2~第3引数で中心、第4引数で幅、第5引数で高さ、第6引数で開始角度、第7引数で終了角度、第8引数で色、第9引数で円弧の種類を指定します。IMG_ARC_PIE は角を丸めた円弧を描画します。
前ページ PHPでGDを使ってみよう TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:



<b><b><font COLOR="#ff0000">カ</font><font COLOR="#00cc00">ラ</font><font COLOR="#0000ff">ー</font><font COLOR="#ff00ff">対応</font></b></b>
2017/05/28 21:04


香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/05/26 15:32

ああああ
かかかかかかかか
2017/05/26 15:32

あああああああああああああ
ああああああああああああ
2017/05/24 15:12



2017/05/23 17:14

a

2017/05/23 13:13


っすぁ
2017/05/19 14:45

名無しのリーク
香川県ルーちゃん餃子のフジフーヅはバイトにパワハラの末指切断の大けがを負わせた犯罪企業
2017/05/15 15:42

名無しのリーク
香川県ルーちゃん餃子のフジフーヅはバイトにパワハラの末指切断の大けがを負わせた犯罪企業
2017/05/15 15:41

名無しのリーク
香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/05/12 13:10

残りを読む »