TrueColor画像(1)
ここでは、32ビット表現によるTrueColor画像の作り方を説明します。 アルファチャネルあり/なし用1ビット+アルファ値7ビットとR(赤)、G(緑)、B(青)に対して各8ビットで32ビットです。
ImageColorResolveAlphaは、指定した色に最も近い色を返します。 Alphaの値は7ビット表現(0-127)であり、0が完全に不透明、127が完全に透明です。
int
ImageColorResolveAlpha( resource $image,
int $red, int $green, int $blue, int $alpha )
サンプルコード
以下のサンプルでは、グラデーションを表現した画像をTrueColorで作成しています。
<?php
$width = 100;
$height = 100;
$img = ImageCreateTrueColor($width, $height);
for ($y=0; $y < $height; $y++) {
for ($x=0; $x < $width; $x++) {
$r = 255 * ($y/$width);
$g = 255 * ($x/$height);
$b = 255 * (($x*$y) / ($width*$height));
ImageSetPixel($img, $x, $y,
ImageColorResolveAlpha($img, $r, $g, $b, 0));
}
}
header('Content-Type: image/jpeg');
ImageJPEG($img);
?>
動作例
<img src="script/truecolor1.php">