imagecolortransparent

透明色を定義する

説明

int imagecolortransparent(GdImage $image, intnull $color = null)

指定した画像 image 上の透明色を設定したり、取得したりします。

パラメータ

image

imagecreatetruecolorのような画像作成関数が返す GdImage オブジェクト。

color

imagecolorallocate で作成された色識別子。

戻り値

新しい透明色の ID (指定しなかった場合は現在設定されている ID) を返します。colornull の場合、 かつ現在の透明色も設定されていない場合は -1 を返します。

変更履歴

バージョン 説明
8.0.0 image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な gd resource が期待されていました。
8.0.0 color は、nullable になりました。

例1 imagecolortransparent の例

<?php
// 55x30 の画像を作成します
$im = imagecreatetruecolor(55, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);

// 背景を透明にします
imagecolortransparent($im, $black);

// 赤い矩形を描画します
imagefilledrectangle($im, 4, 4, 50, 25, $red);

// 画像を保存します
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>

上の例の出力は、 たとえば以下のようになります。

出力例 : imagecolortransparent()

注意

注意:

透過性は imagecopymerge かつ True カラーの場合のみコピーされます。imagecopy もしくはパレットイメージの場合はコピーされません。

注意:

透明色は画像のプロパティであり、色のプロパティではありません。 ある色を透明色と定義したら、画像上で既にその色で着色されてる領域も 透明になります。