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">



IPv6基礎検定

YouTubeチャンネルやってます!