(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.
image
Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().
file
O caminho ou um recurso de stream 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 stream 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 resourcegd 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);
imagedestroy($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');
// Libera a memória
imagedestroy($png);
// 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
{
imagedestroy($im);
die('Não existe suporte para imagem neste servidor PHP');
}
// Se o suporte a imagem foi encontrado para um destes
// formatos, libera-se a memória
if($im)
{
imagedestroy($im);
}
?>
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)
{
}
?>