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

PHPのimagecreatetruecolor()関数で新しいトゥルーカラー画像を作成する方法

imagecreatetruecolor()は、PHPに組み込まれている関数の一つで、新しいトゥルーカラー画像を作成するために使用されます。この関数は、指定したサイズの空の画像を返します。トゥルーカラー画像とは、パレット形式ではなくRGBのフルスペクトル(約1,677万色)を表現できる画像形式のことで、グラデーションや写真など、色の表現力が求められる画像処理に適しています。

構文

resource imagecreatetruecolor($width, $height)

パラメータ

imagecreatetruecolor()は、$width$heightという2つのパラメータを受け取ります。

  • $width − 作成する画像の幅をピクセル単位で指定します。

  • $height − 作成する画像の高さをピクセル単位で指定します。

戻り値

imagecreatetruecolor()は、成功した場合に画像リソース識別子を返し、失敗した場合はfalseを返します。

例1:多角形を描画する

次の例では、700×350ピクセルのキャンバスを作成し、背景を灰色で塗りつぶした上にシアン色の三角形を描画しています。

<?php
   // 多角形の頂点を設定
   $values = array(
      150, 50, // 点1 (x, y)
      50, 250, // 点2 (x, y)
      250, 250 // 点3 (x, y)
   );
   // 画像サイズを指定して空の画像を作成
   $image = imagecreatetruecolor(700, 350);

   // 画像の背景色を設定
   $background_color = imagecolorallocate($image, 122, 122, 122);

   // 背景を選択した色で塗りつぶす
   imagefill($image, 0, 0, $background_color);

   // 多角形用の色を割り当てる
   $image_color = imagecolorallocate($image, 0, 255, 255);

   // 多角形を描画
   imagepolygon($image, $values, 3, $image_color);

   // 画像をブラウザに出力
   header('Content-type: image/png');

   imagepng($image);
?>

出力結果

PHPのimagecreatetruecolor()関数で新しいトゥルーカラー画像を作成する方法

例2:新しいGD画像ストリームを作成する

以下のPHPコードは、新しいGD画像ストリームを作成し、その上にテキストを描画してPNG画像として出力します。

<?php
   header ('Content-Type: image/gif');
   $img = @imagecreatetruecolor(550, 220)
   or die('Cannot Initialize new GD image stream');
   $text_color = imagecolorallocate($img, 255, 255, 0);
   
   imagestring($img, 10, 50, 50, 'A Simple PHP Example', $text_color);
   imagepng($img);
   imagedestroy($img);
?>

出力結果

PHPのimagecreatetruecolor()関数で新しいトゥルーカラー画像を作成する方法

補足・注意点

  • imagecreatetruecolor()を使用するには、サーバーにGDライブラリがインストールされ、有効化されている必要があります。phpinfo()で「gd」セクションを確認してください。

  • 作成した直後の画像は黒く塗りつぶされた状態になるため、必要に応じてimagefill()などで背景色を設定しましょう。

  • 処理が完了したらimagedestroy()を呼び出してメモリを解放することを推奨します。

  • 古いPHPバージョンでパレット画像を作成していたimagecreate()と比べ、imagecreatetruecolor()はより多くの色を扱えるため、現在はこちらの使用が推奨されています。

  1. PHPのimagecreatefromjpeg()関数でJPEGファイルから新しい画像を作成する方法

    imagecreatefromjpeg()は、PHPに組み込まれている関数の一つで、JPEGファイルから新しい画像を生成するために使用されます。指定したファイル名から取得した画像を表す画像リソース識別子(イメージID)を返します。この関数は、GDライブラリが有効になっている環境で動作し、JPEG画像の読み込み、編集、再保存など、さまざまな画像処理の起点としてよく利用されます。構文resource imagecreatefromjpeg(string $filename)パラメータimagecreatefromjpeg()が受け取るパラメータは$filenameの1つだけです。ここには、読み込む

  2. Javaで画像を左右反転!ミラーイメージ(鏡像)の作成方法を解説

    画像を鏡のように左右反転させた「ミラーイメージ」は、Javaの標準ライブラリである ImageIO と BufferedImage を使えば簡単に作成できます。基本的な仕組みはシンプルで、元画像の各ピクセルを読み取り、その位置を水平方向に反転させて新しい画像へ書き込むだけです。ここでは、その具体的な手順とサンプルコードを紹介します。 ミラーイメージを作成する手順 ImageIO.read() メソッドを使用して、対象となる画像を読み込みます。 読み込んだ画像の高さと幅を取得します。 結果を格納するための空の BufferedImage オブジェクトを作成します。 ネストした for ループを