GD 라이브러리에서 제공하는 기능을 이용하여 이미지를 동적으로 그린 후 브라우저에 출력하거나 이미지를 저장해야 합니다. PHP에서는 동적으로 그려진 캔버스를 GIF, JPEG, PNG 및 WBMP의 네 가지 이미지 형식으로 직접 생성할 수 있습니다. 이러한 형식의 이미지는 다음 네 가지 함수를 호출하여 생성할 수 있습니다.
bool imagegif(resource $image[,string $filename]) //以GIF格式将图像输出 bool imagejpeg(resource $image[,string $filename[,int $quality]]) //以JPEG格式将图像输出 bool imagepng(resource $image[,string $filename]) //以PNG格式将图像输出 bool imagewbmp(resource $image[,string $filename[,int $foreground]]) //以WBMP格式将图像输出
위 네 가지 함수의 사용법은 유사하며 처음 두 매개변수의 사용법도 동일합니다. 첫 번째 매개변수인 $image는 필수이며 앞서 소개한 이미지 참조 핸들입니다. 이러한 함수가 다른 매개변수를 제공하는 경우 원본 이미지는 액세스 시 직접 스트리밍되고 동적으로 출력되는 이미지는 브라우저에 표시됩니다. 그러나 출력 전에 헤더 정보를 보내려면 header() 함수를 사용해야 합니다. 이 함수는 브라우저에 올바른 MIME 유형을 사용하여 수신된 콘텐츠를 구문 분석하도록 알리는 데 사용됩니다. 그러면 텍스트와 같은 HTML 대신 이미지를 보내고 있음을 알 수 있습니다. . 다음 코드 조각은 GD 라이브러리에서 지원하는 이미지 유형을 자동으로 감지하여 보다 이식성이 뛰어난 PHP 프로그램을 작성합니다. 아래와 같이:
<?php if(function_exists("imagegif")){ //判断生成GIF格式图像的函数是否存在 header("Content-type:image/gif"); //发送标头信息设置MIME类型为image/gif imagegif($im); //以GIF格式将图像输出到浏览器 }elseif(function_exists("imageipeg")){ header("Content-type:image/jpeg"); imagejpeg($im,"",0.5); }elseif(function_exists("imagepng")){ header("Content-type:image/png"); imagepng($im); }elseif(function_exists("imagewbmp")){ header("Content-type:image/wbmp"); imagewbmp($im); }else{ die("在PHP服务器中,不支持图像"); } ?>
PHP가 동적으로 그린 이미지를 로컬 서버에 저장하려면 두 번째 선택적 매개변수에 파일 이름 문자열을 지정해야 합니다. 이는 이미지를 브라우저에 직접 출력하지 않을 뿐만 아니라 헤더 정보를 보내기 위해 header() 함수를 사용할 필요도 없애줍니다. imageJPEG() 함수를 사용하여 JPEG 형식의 이미지를 생성하는 경우 세 번째 선택적 매개변수 $quality를 통해 JPEG 형식 이미지의 품질을 지정할 수도 있습니다. 이 매개변수가 제공할 수 있는 값은 0부터입니다(최악의 품질이지만 가장 작은 파일)부터 100(최고 품질, 가장 큰 파일) 정수까지, 기본값은 75입니다. 또한 imageWBMP() 함수에 세 번째 선택적 매개변수인 $forground를 제공하여 이미지의 전경색을 지정할 수도 있습니다. 검은색.
PHP GD 라이브러리의 여러 이미지 생성 기능을 요약한 관련 기사를 더 보려면 PHP 중국어 웹사이트를 주목하세요!