현재 위치: > 최신 기사 목록> ImageOpenPolygon ()로 일반 삼각형을 그리는 완전한 과정

ImageOpenPolygon ()로 일반 삼각형을 그리는 완전한 과정

M66 2025-05-29

PHP에서는 imageOpenPolygon () 함수를 사용하여 다각형을 그리울 수 있습니다. 이 기능을 합리적으로 활용함으로써, 우리는 다각형을 그릴뿐만 아니라 일반 삼각형과 같은 간단한 모양을 그릴 수 있습니다. 이 기사는 ImageOpenPolygon () 함수를 통해 일반 삼각형을 그리는 방법을 자세히 소개합니다.

ImageOpenPolygon () 함수는 무엇입니까?

ImageOpenPolygon () 함수는 PHP의 GD 라이브러리의 일부로 정점 세트를 통해 다각형을 그릴 수 있습니다. 함수의 기본 사용 형식은 다음과 같습니다.

 imageopenpolygon($image, $points, $num_points, $color);
  • $ image : 이미지 리소스, 일반적으로 imageCreatetRueColor () 또는 기타 이미지 생성 기능으로 생성 된 이미지 리소스.

  • $ 포인트 : 다각형 정점의 좌표를 포함하는 배열.

  • $ num_points : 정점 수.

  • $ color : 다각형을 그리는데 사용되는 색상.

일반 삼각형을 그리는 방법?

일반 삼각형의 특징은 3면의 길이가 같고 3 개의 내부 각도가 같다는 것입니다 (60도). 캔버스에 일반 삼각형을 그리려면 먼저 3 개의 정점의 좌표를 결정해야합니다. 이 세 정점의 위치를 ​​계산하기 위해 적절한 측면 길이와 출발점을 선택한다고 가정 해 봅시다.

1 단계 : 이미지 자원을 만듭니다

먼저 이미지 리소스를 만들어야합니다. imageCreatetRueColor () 함수를 사용하여 빈 캔버스를 만듭니다.

 $image = imagecreatetruecolor(200, 200);  // a 200x200 캔버스

2 단계 : 삼각형의 색상을 정의하십시오

imageColorAllocate () 함수를 사용하여 그려진 삼각형의 색상을 정의하십시오.

 $white = imagecolorallocate($image, 255, 255, 255);  // 색상을 흰색으로 설정하십시오
$black = imagecolorallocate($image, 0, 0, 0);  // 테두리 색상을 검은 색으로 설정하십시오

3 단계 : 삼각형의 정점을 계산하십시오

일반 삼각형의 기하학적 특성에 따라 정점을 계산할 수 있습니다. 측면의 길이는 100 픽셀이고 삼각형의 정점이 캔버스의 중앙에 배치된다고 가정하십시오.

 $centerX = 100;  // 캔버스 센터 X 동등 어구
$centerY = 100;  // 캔버스 센터 Y 동등 어구
$sideLength = 100;  // 측면 길이

// 计算三角形的三个꼭지점동등 어구
$points = [
    $centerX, $centerY - $sideLength / 2, // 꼭지점1
    $centerX - $sideLength / 2, $centerY + $sideLength / 2, // 꼭지점2
    $centerX + $sideLength / 2, $centerY + $sideLength / 2 // 꼭지점3
];

4 단계 : 삼각형을 그립니다

이제 ImageOpenPolygon () 함수를 사용하여 삼각형을 그립니다.

 imagefilledpolygon($image, $points, 3, $black);  // 삼각형을 채우십시오,3 为꼭지점数

5 단계 : 이미지를 출력하고 리소스 정리

마지막으로 이미지를 출력하고 리소스를 제거하십시오.

 header("Content-type: image/png");
imagepng($image);  // 출력 이미지
imagedestroy($image);  // 이미지 자원을 파괴하십시오

완전한 코드 예제

 <?php
// 이미지 리소스를 만듭니다
$image = imagecreatetruecolor(200, 200);  // a 200x200 캔버스

// 색상을 정의하십시오
$white = imagecolorallocate($image, 255, 255, 255);  // 하얀색
$black = imagecolorallocate($image, 0, 0, 0);  // 검은색

// 计算三角形的꼭지점
$centerX = 100;
$centerY = 100;
$sideLength = 100;
$points = [
    $centerX, $centerY - $sideLength / 2, // 꼭지점1
    $centerX - $sideLength / 2, $centerY + $sideLength / 2, // 꼭지점2
    $centerX + $sideLength / 2, $centerY + $sideLength / 2 // 꼭지점3
];

// 삼각형을 그립니다
imagefilledpolygon($image, $points, 3, $black);  // 삼각형을 채우십시오

// 출력 이미지并清理资源
header("Content-type: image/png");
imagepng($image);  // 출력 이미지
imagedestroy($image);  // 이미지 자원을 파괴하십시오
?>

설명

  • imageCreatetRueColor ()는 규칙적인 삼각형을 수용하기에 충분한 200x200 크기의 캔버스를 만드는 데 사용됩니다.

  • ImageColorAllocate ()는 캔버스의 색상을 설정하고 배경을 흰색으로 채우고 삼각형을 검은 색으로 그리는 데 사용됩니다.

  • ImageFilledPolygon ()은 제공된 정점 배열을 기반으로 삼각형을 그리는 삼각형을 그리는 핵심 기능입니다.

주목해야 할 것

  • ImageOpenPolygon () 은 다각형에만 적합하므로 경계가 채워 지도록 imageFilledPolygon () 함수를 사용합니다.

  • 이미지를 생성하고 파일에 저장 해야하는 경우 imagepng ()를 사용하여 이미지를 지정된 파일에 저장할 수 있습니다.

 imagepng($image, "triangle.png");

결론

위의 방법을 사용하면 ImageOpenPolygon ()ImageFilledPolygon () 함수를 사용하여 일반 삼각형을 그릴 수 있습니다. 필요에 따라 삼각형의 크기, 색 또는 위치를 조정할 수 있습니다. 이 예제는 PHP GD 라이브러리를 사용하여 기본 기하학적 모양을 그리는 방법을 보여줍니다.이 라이브러리는보다 복잡한 모양을 그릴 수 있습니다.