(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)
imagesavealpha — 画像を保存する際に、完全なアルファチャネル情報を保存するかどうかを指定する
imagesavealpha() は
画像を保存する際に(単一色の透過設定ではない)完全な
アルファチャネル情報を保存するフラグを設定します。
この関数は、完全なアルファチャンネル情報をサポートしている画像フォーマット、
つまり、PNG
, WebP
, AVIF
をサポートしています。
注意: imagesavealpha() は、
PNG
でのみ意味があります。 なぜなら、完全なアルファチャンネル情報をWebP
,AVIF
は常に保存するからです。 この振る舞いは将来変更される可能性があるので、依存すべきではありません。 よって、WebP
やAVIF
画像であっても imagesavealpha() を意図的にコールすべきです。
アルファチャネルを保存するためには、まずアルファブレンディングを解除する必要があります
(imagealphablending($im, false)
)。
image
imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。
enable
アルファチャネルを保存するか否か。デフォルトは false
です。
バージョン | 説明 |
---|---|
8.0.0 |
image は、
GdImage
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、有効な gd resource が期待されていました。
|
例1 基本的な imagesavealpha() の使用法
<?php
// アルファチャネルつきの png 画像を読み込みます
$png = imagecreatefrompng('./alphachannel_example.png');
// アルファブレンディングを無効にします
imagealphablending($png, false);
// 望んだ操作をします
// アルファフラグを設定します
imagesavealpha($png, true);
// 画像をブラウザに出力します
header('Content-Type: image/png');
imagepng($png);
imagedestroy($png);
?>