(PHP 4, PHP 5, PHP 7, PHP 8)
imagecolortransparent — 透明色を定義する
指定した画像 image
上の透明色を設定したり、取得したりします。
image
imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。
color
imagecolorallocate() で作成された色識別子。
新しい透明色の ID (指定しなかった場合は現在設定されている ID)
を返します。color
が null
の場合、
かつ現在の透明色も設定されていない場合は -1
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
image は、
GdImage
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、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);
?>
上の例の出力は、 たとえば以下のようになります。
注意:
透過性は imagecopymerge() かつ True カラーの場合のみコピーされます。imagecopy() もしくはパレットイメージの場合はコピーされません。
注意:
透明色は画像のプロパティであり、色のプロパティではありません。 ある色を透明色と定義したら、画像上で既にその色で着色されてる領域も 透明になります。