PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagecreate()関数とは?使い方とサンプルコードを解説

PHPのimagecreate()関数は、新しい画像(イメージリソース)を作成するために使用されるGDライブラリの関数です。パレットベースの画像を生成し、その後の描画処理やテキスト追加などに利用できます。

imagecreate()とimagecreatetruecolor()の違い

画像を作成する際には、imagecreate()よりもimagecreatetruecolor()を使用することが推奨されています。これは、imagecreatetruecolor()で作成できるフルカラー(トゥルーカラー)画像の方が高品質であり、画像処理を最高品質の状態で行えるためです。特にグラデーションや写真のような色の変化が多い画像を扱う場合は、imagecreatetruecolor()を使うことで色の劣化を防げます。

構文

imagecreate( $width, $height )

パラメータ

  • width: 作成する画像の幅(ピクセル単位)

  • height: 作成する画像の高さ(ピクセル単位)

戻り値

imagecreate()関数は、処理が成功した場合に画像リソース識別子を返します。エラーが発生した場合はFALSEを返します。

使用例

以下は、imagecreate()関数を使って画像を生成し、複数のテキストを描画するサンプルコードです。

<?php
   $img = imagecreate(500, 300);
   $bgcolor = imagecolorallocate($img, 150, 200, 180);
   $fontcolor = imagecolorallocate($img, 120, 60, 200);
   imagestring($img, 12, 150, 120, "Demo Text1", $fontcolor);
   imagestring($img, 3, 150, 100, "Demo Text2", $fontcolor);
   imagestring($img, 9, 150, 80, "Demo Text3", $fontcolor);
   imagestring($img, 12, 150, 60, "Demo Text4", $fontcolor);
   header("Content-Type: image/png");
   imagepng($img);
   imagedestroy($img);
?>

コードの解説

  • imagecreate(500, 300):幅500ピクセル、高さ300ピクセルの新しい画像を作成します。

  • imagecolorallocate():背景色と文字色をRGB値で指定して割り当てます。最初に割り当てた色が背景色になります。

  • imagestring():指定した座標にビルトインフォントでテキストを描画します。

  • header("Content-Type: image/png"):出力をPNG画像としてブラウザに通知します。

  • imagepng():画像をPNG形式で出力します。

  • imagedestroy():メモリ上の画像リソースを解放します。

実行結果

このコードを実行すると、薄い緑がかった背景に紫色のテキストが4行描画されたPNG画像が出力されます。

PHPのimagecreate()関数とは?使い方とサンプルコードを解説

  1. PHPのimagefilledrectangle()関数の使い方 – 塗りつぶし矩形を描画する方法

    PHPのimagefilledrectangle()関数は、指定した座標をもとに、色で塗りつぶされた矩形(長方形)を画像上に描画するためのGDライブラリ関数です。図形の作成やグラフィック処理などでよく利用されます。構文imagefilledrectangle( $img, $x1, $y1, $x2, $y2, $color )パラメータimgimagecreatetruecolor() などで作成した画像リソースを指定します。x1矩形の1つ目の頂点(始点)のX座標を指定します。y1矩形の1つ目の頂点(始点)のY座標を指定します。x2矩形の2つ目の頂点(対角の終点)のX座標を指定します。y2矩

  2. PHPのimagefilledellipse()関数とは?塗りつぶし楕円の描画方法を解説

    PHPのimagefilledellipse()関数は、指定した座標を中心として塗りつぶしのある楕円を描画するために使用されるGDライブラリの関数です。図形描画や画像生成を行う際に非常に便利な関数の一つです。 構文 imagefilledellipse( $img, $cx, $cy, $width, $height, $color ) パラメータ img:imagecreatetruecolor()関数などで作成した画像リソースを指定します。この画像に対して楕円が描画されます。 cx:楕円の中心のX座標(横方向の位置)を指定します。 cy:楕円の中心のY座標(縦方向の位置)を指定します。