(PHP 4, PHP 5, PHP 7, PHP 8)
imagegif — Envia a imagem para o navegador ou para um arquivo
imagegif() cria o arquivo GIF
especificado em file a partir da imagem em image. O
argumento image é o retorno da função
imagecreate() ou
imagecreatefrom*.
O formato da imagem será GIF87a a menos que a imagem tenha se tornado transparente com imagecolortransparent(), e neste caso o formato da imagem será GIF89a.
imagefileO caminho ou um recurso de fluxo aberto (que será fechado automaticamente após o retorno desta função) para salvar o arquivo. Se não for definido ou for null, o fluxo da imagem bruta será enviado diretamente.
Retorna true em caso de sucesso ou false em caso de falha.
Entretanto, se a biblioteca libgd falhar ao gerar a imagem, esta função retornará true.
| Versão | Descrição |
|---|---|
| 8.0.0 |
O parâmetro image agora espera uma instância de GdImage;
anteriormente, um resource gd válido era esperado.
|
Exemplo #1 Mostrando uma imagem usando imagegif()
<?php
// Cria uma nova instância de imagem
$im = imagecreatetruecolor(100, 100);
// Deixa o fundo branco
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Desenha uma string na imagem
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
// Mostra a imagem no navegador
header('Content-Type: image/gif');
imagegif($im);
?>Exemplo #2 Convertendo uma imagem PNG para GIF usando imagegif()
<?php
// Carrega o PNG
$png = imagecreatefrompng('./php.png');
// Grava a imagem como GIF
imagegif($png, './php.gif');
// Pronto
echo 'Convertida a imagem PNG para GIF com sucesso!';
?>Nota:
O extrato de código a seguir permite esrever aplicações PHP mais portáveis através de auto-detecção do tipo de suporte GD disponível. Substitua sequência
header ("Content-Type: image/gif"); imagegif ($im);pela sequência mais flexível:<?php // Cria uma nova instância de imagem $im = imagecreatetruecolor(100, 100); // Faz aqui algumas operações // Lida com a saída if(function_exists('imagegif')) { // Para GIF header('Content-Type: image/gif'); imagegif($im); } elseif(function_exists('imagejpeg')) { // Para JPEG header('Content-Type: image/jpeg'); imagejpeg($im, NULL, 100); } elseif(function_exists('imagepng')) { // Para PNG header('Content-Type: image/png'); imagepng($im); } elseif(function_exists('imagewbmp')) { // Para WBMP header('Content-Type: image/vnd.wap.wbmp'); imagewbmp($im); } else { die('Não existe suporte para imagem neste servidor PHP'); } ?>
Nota:
Pode-se usar a função imagetypes() para verificar a presenção de vários formatos de imagem suportados:
<?php if(imagetypes() & IMG_GIF) { header('Content-Type: image/gif'); imagegif($im); } elseif(imagetypes() & IMG_JPG) { /* ... etc. */ } ?>