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

PHPのimagecolorallocatealpha()関数とは?透明度付きの色を画像に割り当てる方法を解説

PHPのimagecolorallocatealpha()関数は、画像に対して透明度(アルファ値)を含む色を割り当てるための関数です。GDライブラリを使って半透明の図形を描画したい場合などに活用されます。

構文

imagecolorallocatealpha ( img, red, green, blue, alpha )

パラメータ

  • img: imagecreatetruecolor()で作成した画像リソースを指定します。

  • red: 赤色の成分(0〜255の範囲)を指定します。

  • green: 緑色の成分(0〜255の範囲)を指定します。

  • blue: 青色の成分(0〜255の範囲)を指定します。

  • alpha: 画像の透明度を指定します。0は完全に不透明、127は完全に透明を表します。

戻り値

imagecolorallocatealpha()関数は、色の割り当てが成功した場合は色識別子を返し、失敗した場合はFALSEを返します。

サンプルコード

以下に、imagecolorallocatealpha()関数を使った具体的な使用例を示します。

<?php
   $img = imagecreatetruecolor(520, 350);
   $bgcolor = imagecolorallocate($img, 50, 10, 255);
   imagefill($img, 0, 0, $bgcolor);
   $one = imagecolorallocatealpha($img, 50, 255, 0, 70);
   $two = imagecolorallocatealpha($img, 255, 0, 255, 50);
   $three = imagecolorallocatealpha($img, 150, 255, 0, 60);
   $four = imagecolorallocatealpha($img, 200, 0, 255, 90);
   imagefilledellipse($img, 200, 150, 150, 150, $one);
   imagefilledellipse($img, 220, 150, 150, 150, $two);
   imagefilledellipse($img, 240, 150, 150, 150, $three);
   imagefilledellipse($img, 280, 150, 150, 150, $four);
   header('Content-Type: image/png');
   imagepng($img);
   imagedestroy($img);
?>

実行結果

上記のコードを実行すると、4つの半透明の楕円が重なり合った画像が出力されます。それぞれの楕円には異なる透明度が設定されており、alpha値の違いによって重なった部分の見え方が変化する様子を確認できます。

PHPのimagecolorallocatealpha()関数とは?透明度付きの色を画像に割り当てる方法を解説


  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座標(縦方向の位置)を指定します。