이미지 처리 및 GD imagegif

(PHP 4, PHP 5, PHP 7, PHP 8)

imagegif — 브라우저 또는 파일로 이미지 출력


설명

imagegif(GdImage $image, resource|string|null $file = null): bool

imagegif()는 이미지 image에서 fileGIF 파일을 만듭니다. image 인수는 imagecreate() 또는 imagecreatefrom* 함수의 반환값입니다.

imagecolortransparent()를 사용하여 이미지를 투명하게 만들지 않은 경우 이미지 형식은 GIF87a가 됩니다. 이 경우 이미지 형식은 GIF89a가 됩니다.


매개변수

image
imagecreatetruecolor()와 같은 이미지 생성 함수 중 하나에서 반환되는 GdImage 객체.
file
파일을 저장할 경로 또는 열린 스트림 리소스(이 함수가 반환된 후 자동으로 닫힘). 설정하지 않거나 null이면 원시 이미지 스트림이 직접 출력됩니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.

주의 그러나 libgd가 이미지 출력에 실패하면 이 함수는 true를 반환합니다.


변경 로그

버전 설명
8.0.0 image는 이제 GdImage 인스턴스를 반환합니다. 이전에는 리소스가 필요했습니다.

Examples

예제 #1 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);
?>
                  
                

예제 #2 imagegif()를 사용하여 PNG 이미지를 GIF로 변환

                  
<?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!';
?>
                  
                

메모

<참고:

다음 코드 스니펫을 사용하면 사용 가능한 GD 지원 유형을 자동 감지하여 더 이식성이 높은 PHP 애플리케이션을 작성할 수 있습니다. 시퀀스 교체합니다 header ("Content-Type: image/gif"). imagegif($im); 보다 유연한 순서로:

                    
<?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);
}
?>
                    
                  

메모

다양한 지원 이미지 형식이 있는지 확인하기 위해 imagetypes() 함수를 사용할 수 있습니다.

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

기타

  • imagepng() - 브라우저 또는 파일에 PNG 이미지 출력
  • imagewbmp() - 브라우저 또는 파일로 이미지 출력
  • imagejpeg() - 브라우저 또는 파일로 이미지 출력
  • imagetypes() - 이 PHP 빌드에서 지원하는 이미지 유형을 반환합니다.