PHP画像入門-PHPで画像を描画

Pocket

PHPを使うと画像を描画することができます。詳細なマニュアルがあるので簡単に扱えます。
基本的な部分を備忘録としてまとめておきます。

基本

PHPファイルとして「image.php」というようなファイル名を付けた場合、HTML上で「<img src='image.php'>」とすると画像として表示されます。パラメータを付けた場合も同様で「<img src='image.php?p=x'>」とします。

PHPファイルは次のように書きます。幅300ピクセル、高さ200ピクセルのPNG画像を出力する場合です。
これが基本形になります。

<?php
//イメージを作る。
$img = imagecreatetruecolor(300, 200);

//ここに処理を書く。

header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

次のようにするとJPEG画像になります。

header("Content-type: image/jpeg");
imagejpeg($img);

通常は背景が黒になります。背景色は次のように指定します。

//色を設定する。
$red = imagecolorallocate($img, 255, 0, 0);
//背景を塗りつぶす。
imagefill($img, 0, 0, $red);

図形

直線

imageline($image, $x1 ,$y1 ,$x2 ,$y2 ,$color)

$imageはimagecreatetruecolorで作られるイメージ(画像リソース)です。
$colorはimagecolorallocateで作られる色です。
座標($x1,$y1)と座標($x2,$y2)を結ぶ直線を描きます。
線の太さは指定できません。基本的に1ピクセルの細い線になります。

長方形

imagerectangle($image ,$x1 ,$y1 ,$x2 ,$y2 ,$color)
imagefilledrectangle($image ,$x1 ,$y1 ,$x2 ,$y2 ,$color)

座標($x1,$y1)と座標($x2,$y2)を頂点とする長方形を描きます。imagefilledrectangleは内部を塗りつぶします。

円、楕円

imageellipse($image, $cx, $cy, $width, $height, $color)
imagefilledellipse($image, $cx, $cy, $width, $height, $color)

座標($cx,$cy)を中心とし幅$width、高さ$heightとする楕円を描きます。幅と高さを同じにすると円になります。この場合、幅=高さ=直径となります。

文字列

imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text)

座標($x,$y)を左下にした文字列を描きます。
$sizeは文字の大きさです。
$angleは角度です。通常は0とします。
$fontfileはフォントのパスです。
$textは描く文字列です。

[ 2017年1月7日 | カテゴリー: PHP | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報