>백엔드 개발 >PHP 튜토리얼 >GD2 함수를 사용하여 기하학적 도형 그리기(PHP 그래픽 이미지의 일반적인 응용 프로그램 튜토리얼 4)

GD2 함수를 사용하여 기하학적 도형 그리기(PHP 그래픽 이미지의 일반적인 응용 프로그램 튜토리얼 4)

黄舟
黄舟원래의
2017-04-24 17:25:372201검색

GD2 함수를 사용하여 기하학적 도형 그리기(PHP 그래픽 및 이미지의 일반적인 응용 튜토리얼 4)

이 문서에서는 주로 GD2 함수의 사용을 설명합니다. 기하학적 도형을 그리려면 먼저 이미지를 만들어야 합니다. 이전 기사에서 말했듯이 이미지를 만드는 것은 모든 이미지 작업의 첫 번째 단계입니다. 그런 다음 배경의 좌표점을 기준으로 그래픽 윤곽선을 그립니다. , 그리고 마침내 그래픽을 출력합니다!

그럼 이전 글 "이미지 처리 기술을 사용하여 인증코드 생성(PHP 그래픽 및 이미지의 일반적인 응용 튜토리얼 3) "에서 인증코드 생성 방법을 소개했는데, 저는 그렇지 않습니다. 모르겠어요, 친구들 이 지식 포인트를 마스터하셨나요? 익숙하지 않은 친구들도 복습할 수 있어요! 오늘은 기하학적 도형 그리기에 대해 설명드리겠습니다!

이 글의 기술적 포인트:

이 글에서는 GD2 기능을 주로 기하학적 도형을 그리는 데 사용했는데, 그 중 일부는 자세한 소개를 위해 아래에서 일반적으로 사용되는 함수를 소개합니다.

(1) imagecreatetruecolor() 함수

이 함수는 풀 컬러 이미지 파일 리소스에서 이 함수의 구문 형식은 다음과 같습니다.

int imagecreatetruecolor(int x_size,int y_size);

매개변수 x_size 및 y_size는 각각 이미지의 너비와 높이(픽셀(px))입니다.

(2)imagecolorallocate() 함수

이 함수는 지정된 이미지의 색상을 일치시켜 다른 그리기 기능을 적용할 수 있도록 하는 데 사용됩니다.

int imagecolorallocate(int im, int red, int green, int blue);

im 매개변수는 이미지의 핸들을 나타내며 매개변수 red, green, blue는 RGB의 3원색이며 그 값은 0~255 또는 0x00~ 16진수로는 0xff입니다. 이미지로 표현되는 이미지에 사용되는 각 색상을 생성하려면 이 함수를 호출해야 합니다.

(3)imagefilledarc() 함수

타원을 그려서 채우는 함수입니다.

int imagefilledarc(im, int cx , int w, int h, int s, int e, int color, int style);

in im으로 표현된 이미지에서 cx, cy(이미지의 왼쪽 상단은 0, 0)를 원의 중심으로 하여 타원형의 호를 그린다. 성공하면 true를, 실패하면 false를 반환합니다. w와 h는 각각 타원의 너비와 높이를 지정하고, s와 e 매개변수는 각도의 시작점과 끝점을 지정하며, color는 채우기 색상 값을 나타냅니다.

스타일은 다음 값의 비트별 OR(OR)일 수 있습니다.

  • IMG_ARC_PIE

  • IMG_ARC_CHORD

    IMG_ARC_NOFILL 시작점과 끝점은 IMG_ARC_PIE가 원형 경계를 생성합니다(둘 다 사용하는 경우 IMG_ARC_CHORD가 적용됩니다). IMG_ARC_NOFILL은 호 또는 현에 채우기가 아닌 윤곽선만 있음을 지정합니다. IMG_ARC_EDGED는 시작점과 끝점을 중심점에 연결하는 직선을 지정합니다. IMG_ARC_NOFILL과 함께 사용하면 원형 차트의 윤곽선을 채우지 않고 그리는 좋은 방법입니다.
  • (4)imagefilled직사각형() 함수

  • 이 함수는 채워진 사각형을 그리는 데 사용됩니다. 이 함수의 구문 형식은 다음과 같습니다.

    bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int$color )

    이 함수는 그림의 닫힌 직사각형 영역에 색상을 지정합니다. 매개변수 x1, y1 및 x2, y2는 각각 직사각형 대각선의 좌표입니다.

(5)imagedestroy( )Function

이 함수는 그래픽을 삭제하고 메모리 공간을 해제하는 데 사용됩니다. 구문 형식은 다음과 같습니다.

int imagedestroy(int im);

im 매개변수는 imagecreate입니다. () 함수와 imagecreatetruecolor() 함수로 생성된 그래픽!

이제 기하학적 도형을 그리는 방법을 살펴보겠습니다.

구현 과정에 대한 구체적인 코드는 다음과 같습니다.

<?php
header(&#39;Content-type: image/png&#39;);// 告诉浏览器,这个文件,是一个png图片
$img = imagecreatetruecolor(260, 200);//创建一个400X200的画布
$green = imagecolorallocate($img, 20, 145, 40);//定义一个绿颜色
$darkgreen = imagecolorallocate($img, 25, 80, 25);//定义一个深绿颜色
$blue = imagecolorallocate($img, 0, 225, 205);//定义一个蓝颜色
$darkblue = imagecolorallocate($img, 10, 180, 200);//定义一个深蓝颜色
$red = imagecolorallocate($img, 255, 0, 0);//定义一个红颜色
$bluered = imagecolorallocate($img, 202, 10, 0);//定义一个深红颜色
for($i = 110; $i > 100 ; $i--){
    imagefilledarc($img,130,$i,150,100,0,95,$darkgreen,IMG_ARC_PIE);
    imagefilledarc($img,130,$i,150,100,95,125,$darkblue,IMG_ARC_PIE);
    imagefilledarc($img,130,$i,150,100,120,360,$bluered,IMG_ARC_PIE);
}
imagefilledarc($img,130,$i,150,100,0,95,$green,IMG_ARC_PIE);
imagefilledarc($img,130,$i,150,100,95,125,$blue,IMG_ARC_PIE);
imagefilledarc($img,130,$i,150,100,120,360,$red,IMG_ARC_PIE);
imagepng($img);//以png格式输出图像
imagedestroy($img);//释放资源
?>

출력 결과는 다음과 같습니다.

GD2 기능을 사용하여 기하학적 도형을 그리는 방법은 여기서 소개를 마쳤으니 이 기능은 누구나 마스터할 수 있을 거라 믿습니다. 계속해서 이미지를 소개하겠습니다. 차트에 행 및 열 레이블을 추가하는 방법은 "GD2 함수를 사용하여 차트에 행 및 열 레이블 추가(PHP 그래픽 및 이미지 5의 일반적인 응용 튜토리얼)"을 읽어보세요. 자세한 내용은!

위 내용은 GD2 함수를 사용하여 기하학적 도형 그리기(PHP 그래픽 이미지의 일반적인 응용 프로그램 튜토리얼 4)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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