Whether to retain full alpha channel information when saving images

- « imagerotate

- imagescale »

- PHP Manual
- GD and Image Functions
- Whether to retain full alpha channel information when saving images

# imagesavealpha

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

imagesavealpha — Whether to retain full alpha channel information when saving images

### Description

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

imagesavealpha() sets the flag which determines whether to retain full alpha channel information (as opposed to single-color transparency) when saving images. This is only supported for image formats which support full alpha channel information, i.e. `PNG`, `WebP` and `AVIF`.

> Note: imagesavealpha() is only meaningful for `PNG` images, since the full alpha channel is always saved for `WebP` and `AVIF`. It is not recommended to rely on this behavior, as it may change in the future. Thus, imagesavealpha() should be called deliberately also for `WebP` and `AVIF` images.

Alphablending has to be disabled (`imagealphablending($im, false)`) to retain the alpha-channel in the first place.

### Parameters

`image`

  A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().

`enable`

  Whether to save the alpha channel or not. Defaults to `false`.

### Return Values

Returns `true` on success or `false` on failure.

### Changelog

Version | Description
--- | ---
8.0.0 | `image` expects a GdImage instance now; previously, a valid `gd` resource was expected.

### Examples

Example #1 Basic imagesavealpha() Usage

    <?php
    // Load a png image with alpha channel
    $png = imagecreatefrompng('./alphachannel_example.png');

    // Turn off alpha blending
    imagealphablending($png, false);

    // Do desired operations

    // Set alpha flag
    imagesavealpha($png, true);

    // Output image to browser
    header('Content-Type: image/png');

    imagepng($png);
    ?>

### See Also

- imagealphablending() - Set the blending mode for an image