imagesavealpha

画像を保存する際に、完全なアルファチャネル情報を保存するかどうかを指定する

説明

true imagesavealpha(GdImage $image, bool $enable)

imagesavealpha は 画像を保存する際に(単一色の透過設定ではない)完全な アルファチャネル情報を保存するフラグを設定します。 この関数は、完全なアルファチャンネル情報をサポートしている画像フォーマット、 つまり、PNG, WebP, AVIF をサポートしています。

注意: imagesavealpha は、PNG でのみ意味があります。 なぜなら、完全なアルファチャンネル情報を WebP, AVIF は常に保存するからです。 この振る舞いは将来変更される可能性があるので、依存すべきではありません。 よって、WebPAVIF 画像であっても imagesavealpha を意図的にコールすべきです。

アルファチャネルを保存するためには、まずアルファブレンディングを解除する必要があります (imagealphablending($im, false))。

パラメータ

image

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

enable

アルファチャネルを保存するか否か。デフォルトは false です。

戻り値

常に true を返します。

変更履歴

バージョン 説明
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);
?>

参考

  • imagealphablending