>백엔드 개발 >PHP 튜토리얼 >(고급) PHP 이미지 처리 기술-GD 라이브러리

(고급) PHP 이미지 처리 기술-GD 라이브러리

黄舟
黄舟원래의
2017-02-07 09:12:332809검색

1. GD 확장 활성화

extension=php_gd2.dll

Apache 재시작

2. 예:

시나리오:

500×300 녹색 그림 만들기

①캔버스 만들기

리소스 데이터의 일종인 캔버스. 조작할 수 있는 이미지 리소스입니다.

새 캔버스 만들기(new)

ImageCreate(너비, 높이), 팔레트를 기반으로 캔버스를 만듭니다.

imageCreateTrueColor(width, height); 트루 컬러 캔버스를 만듭니다.

이미지를 기반으로 캔버스 생성(열기)

imageCreateFromJPEG(이미지 주소);

imageCreateFromPNG(이미지 주소);

imageCreateFromGIF(이미지 주소);

②작업 캔버스

색상 할당: 캔버스에 색상을 사용해야 하는 경우 먼저 캔버스에 색상을 할당해야 합니다.

사용 기능:

색상 식별 = imageColorAllocate(canvas, R, G, B)

색상 표현:

RGB

③캔버스 채우기: 같은 색상의 연속된 점으로 채우기(교체)

기능 사용:

imageFill(캔버스, 채우기 위치 x, 채우기 위치 Y, 색상 로고) 완전한

위치는

좌표를 사용하여 관리됩니다. 원점: 0, 0, 캔버스 왼쪽 상단.

오른쪽으로 갈수록 x축이 증가하고, 아래로 갈수록 Y축이 증가합니다.

오른쪽 하단 좌표 : 너비-1, 높이-1

④캔버스 출력

캔버스에서 처리된 패턴 정보를 출력합니다.


일반:

1 이미지 파일로 출력합니다.

2가 직접 출력됩니다.

사용 기능:

imagePNG(캔버스[, 파일 주소]):

imageJPEG();

imageGIF();

두 번째 파라미터가 없으면 직접 출력을 의미합니다.

참고: 브라우저에 직접 출력하는 경우 응답 데이터 유형이 PNG 형식 이미지여야 함을 브라우저에 알려야 합니다.

Content-type 명령을 사용하세요. 🎜>

a 캔버스는 다양한 형식으로 여러 번 출력 가능

⑤ 캔버스 리소스 삭제

imageDestroy()


샘플 코드:

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);


샘플 코드:

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);

위는 (고급) PHP 이미지 처리 기술-GD 라이브러리의 내용입니다. 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.