画像処理にPHPを使用する場合、 ImageCreate()とImageColorresolve()は、2つの非常に基本的で重要な機能です。彼らの目的を理解することは、開発者が画像をより効率的に作成および操作するのに役立ちます。
ImageCreate()は、通常、後続の描画操作で使用される空白の画像キャンバスを作成するために使用されます。基本的な構文は次のとおりです。
$image = imagecreate(int $width, int $height);
パラメーター説明:
$ width :画像の幅(ピクセル単位)。
$ height :画像の高さ(ピクセル単位)。
返品値:
成功すると、画像リソース(リソースタイプ)が返されます。
失敗したときにfalseを返します。
例:
<?php
// ワイドを作成します 200 ピクセル、高い 100 ピクセル画像
$image = imagecreate(200, 100);
// 背景色を白に設定します
$white = imagecolorallocate($image, 255, 255, 255);
// ブラウザに写真を出力します
header('Content-Type: image/png');
imagepng($image);
// 無料のリソース
imagedestroy($image);
?>
上記の例では、最初にキャンバスを作成し、 ImageColorAllocate()で背景色を設定します。次に、 ImagePng()を使用して画像を出力します。
注: ImageCreate()は、パレットベースの画像を作成します。高品質(透明性の取り扱いなど)が必要な場合は、 ImageCreateTrueColor()を使用できます。
ImageColorresolve()は、既存の画像パレットで指定されたRGB値に最も近い色を見つけるために使用されます。正確な一致する色が見つからず、画像パレットのために部屋が残っている場合、新しい色が追加されます。
文法:
$color = imagecolorresolve(resource $image, int $red, int $green, int $blue);
パラメーター説明:
$画像: ImageCreate()またはその他の画像作成機能によって生成された画像リソース。
$ red 、 $ green 、 $ blue :色のRGB値(0-255)。
返品値:
カラーインデックス(整数タイプ)を返します。
例:
<?php
// aを作成します 100x100 画像
$image = imagecreate(100, 100);
// 画像に背景色を割り当てます
$bg = imagecolorallocate($image, 0, 0, 0);
// 指定された閉鎖を解析してみてください RGB 値の色
$resolvedColor = imagecolorresolve($image, 100, 150, 200);
// 解析された色を使用して線を描きます
imageline($image, 0, 0, 100, 100, $resolvedColor);
// 出力画像
header('Content-Type: image/png');
imagepng($image);
// 画像リソースを破壊します
imagedestroy($image);
?>
実際の開発では、 ImageColorresolve()は、色が限られている画像(GIF形式など)で作業している場合に特に役立ちます。過度の色によって引き起こされる異常を避けることができます。
ImageCreate()は、画像リソースを作成するための出発点です。
ImageColorresolve()は、指定された色の近くでパレットインデックスを見つけたり作成したりするために使用されます。
2つは通常、単純な画像生成と編集タスクを効率的に処理するために互いに組み合わせて使用されます。