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,'./green.png'); //如果没有第二个参数,表示直接输出 //如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type header('Content-Type:image/png;'); 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,'./green.png'); //如果没有第二个参数,表示直接输出 //如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type header('Content-Type:image/png;'); imagePNG($img); //注:一个画布可以输出多次,输出为各种格式 //销毁画布资源 imageDestroy($img);