imagegif

&gd.image.output;

&reftitle.description; `bool` `imagegif` `resource` `image` `string` `filename`

`imagegif` creates the GIF file in filename from the image `image`. The `image` argument is the return from the `imagecreate` or `imagecreatefrom*` function.

The image format will be GIF87a unless the image has been made transparent with `imagecolortransparent`, in which case the image format will be GIF89a.

&reftitle.parameters;

&gd.image.description;

`filename`

- &gd.image.path;

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### Outputting an image using `imagegif`

    <?php
    // Create a new image instance
    $im = imagecreatetruecolor(100, 100);

    // Make the background white
    imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);

    // Draw a text string on the image
    imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

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

    imagegif($im);
    imagedestroy($im);
    ?>

### Converting a PNG image to GIF using `imagegif`

    <?php

    // Load the PNG
    $png = imagecreatefrompng('./php.png');

    // Save the image as a GIF
    imagegif($png, './php.gif');

    // Free from memory
    imagedestroy($png);

    // We're done
    echo 'Converted PNG image to GIF with success!';
    ?>

&reftitle.notes;

GIF support was removed from the GD library in Version 1.6, and added back in Version 2.0.28. This function is not available between these versions. For more information, see the GD Project site.

The following code snippet allows you to write more portable PHP applications by auto-detecting the type of GD support which is available. Replace the sequence `header ("Content-Type: image/gif"); imagegif ($im);` by the more flexible sequence:

    <?php
    // Create a new image instance
    $im = imagecreatetruecolor(100, 100);

    // Do some image operations here

    // Handle output
    if(function_exists('imagegif'))
    {
        // For GIF
        header('Content-Type: image/gif');

        imagegif($im);
    }
    elseif(function_exists('imagejpeg'))
    {
        // For JPEG
        header('Content-Type: image/jpeg');

        imagejpeg($im, NULL, 100);
    }
    elseif(function_exists('imagepng'))
    {
        // For PNG
        header('Content-Type: image/png');

        imagepng($im);
    }
    elseif(function_exists('imagewbmp'))
    {
        // For WBMP
        header('Content-Type: image/vnd.wap.wbmp');

        imagewbmp($im);
    }
    else
    {
        imagedestroy($im);

        die('No image support in this PHP server');
    }

    // If image support was found for one of these
    // formats, then free it from memory
    if($im)
    {
        imagedestroy($im);
    }
    ?>

As of PHP 4.0.2 you can use the function `imagetypes` in place of `function_exists` for checking the presence of the various supported image formats:

    <?php
    if(imagetypes() & IMG_GIF)
    {
        header('Content-Type: image/gif');
        imagegif($im);
    }
    elseif(imagetypes() & IMG_JPG)
    {
        /* ... etc. */
    }
    ?>

&reftitle.seealso;

- `imagepng`
- `imagewbmp`
- `imagejpeg`
- `imagetypes`