imagecolortransparent

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolortransparent透明色を定義する

説明

imagecolortransparent(GdImage$image, ?int$color = null): int

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

パラメータ

image

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

color

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

戻り値

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

変更履歴

バージョン説明
8.0.0image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な gdresource が期待されていました。
8.0.0color は、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() もしくはパレットイメージの場合はコピーされません。

注意:

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

To Top