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

# imagesavealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

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

### 説明

function imagesavealpha(GdImage `$image`, bool `$enable`): true

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

> 注意: imagesavealpha() は、`PNG` でのみ意味があります。 なぜなら、完全なアルファチャンネル情報を `WebP`, `AVIF` は常に保存するからです。 この振る舞いは将来変更される可能性があるので、依存すべきではありません。 よって、`WebP` や `AVIF` 画像であっても 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() - イメージのブレンドモードを設定する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open