현재 위치: > 최신 기사 목록> ImageOpenPolygon () 수학적 시각화 차트에 사용하는 방법 (예 : 다각형 다이어그램)

ImageOpenPolygon () 수학적 시각화 차트에 사용하는 방법 (예 : 다각형 다이어그램)

M66 2025-05-29

PHP에서 ImageOpenPolygon () 은 매우 실용적인 이미지 그리기 기능이며, 특히 간단한 기하학적 그림 그리기, 복잡한 프랙탈 구조 또는 동적 차트 생성과 같은 수학에서 다각형 구조를 시각화하는 데 특히 적합합니다. 이 기사에서는 ImageOpenPolygon ()을 사용하여 다각형을 그리는 방법을 자세히 설명하고 실제 사례를 결합하여 응용 프로그램 시나리오를 이해하는 데 도움이됩니다.

1. ImageOpenPolygon () 이란 무엇입니까?

ImageOpenPolygon () 은 PHP GD 라이브러리에서 열린 (즉, 폐쇄되지 않은) 다각형 라인을 그리는 함수입니다. ImagePolygon () 과 달리 ImageOpenPolygon ()은 첫 번째 및 마지막 포인트를 자동으로 연결하지 않으므로 폐쇄되지 않은 폴리 라인 차트를 그리는 데 더 적합합니다.

기본 함수 형식은 다음과 같습니다.

 bool imageopenpolygon(
    GdImage $image,
    array $points,
    int $num_points,
    int $color
)
  • $ 이미지 : GD 이미지 리소스.

  • $ 포인트 : 포인트 배열 (x1, y1, x2, y2, ..., xn, yn).

  • $ num_points : 포인트 수.

  • $ color : 색상 식별자 ( imageColorAllocate () 에 의해 생성).

2. ImageOpenPolygon ()을 사용하는 방법?

(1) 기본 이미지를 만들고 다각형을 그립니다

다음은 펜타곤의 열린 폴리 라인을 그리는 간단한 예입니다.

 <?php
// 캔버스를 만듭니다
$image = imagecreatetruecolor(400, 400);

// 색상을 할당합니다
$white = imagecolorallocate($image, 255, 255, 255);
$blue = imagecolorallocate($image, 0, 0, 255);

// 배경을 채우십시오
imagefill($image, 0, 0, $white);

// 다각형 정점을 정의하십시오 (오각형,닫히지 않습니다)
$points = [
    200, 50,   // 꼭지점1
    350, 150,  // 꼭지점2
    300, 300,  // 꼭지점3
    100, 300,  // 꼭지점4
    50, 150    // 꼭지점5
];

// 열린 다각형을 그립니다
imageopenpolygon($image, $points, 5, $blue);

// 브라우저에 출력
header('Content-Type: image/png');
imagepng($image);

// 이미지 자원을 파괴하십시오
imagedestroy($image);
?>

위의 코드를 실행하면 5 개의 파란색 세그먼트로 구성된 펜타곤이 있지만 엽서가 보입니다.

(2) 이미지를 서버에 저장합니다

때로는 이미지를 파일로 직접 출력하는 대신 파일로 저장하려면 다음을 수행 할 수 있습니다.

 <?php
$image = imagecreatetruecolor(400, 400);
$white = imagecolorallocate($image, 255, 255, 255);
$red = imagecolorallocate($image, 255, 0, 0);
imagefill($image, 0, 0, $white);

$points = [
    100, 100,
    300, 100,
    300, 300,
    100, 300
];

imageopenpolygon($image, $points, 4, $red);

// 이미지를 로컬 서버에 저장하십시오
imagepng($image, '/var/www/m66.net/uploads/openpolygon.png');

imagedestroy($image);
?>

위의 코드는 그려진 개방형 사변형을 /var/www/m66.net/uploads/openpolygon.png 경로에 저장합니다.

(3) 동적 수학 공식과 함께 포인트 좌표 생성

정기적 인 N- 측면을 그리는 것과 같은 수학 공식에 따라 다각형의 모양이 동적으로 변하기를 원한다면이를 수행 할 수 있습니다.

 <?php
function generatePolygonPoints($centerX, $centerY, $radius, $sides) {
    $points = [];
    for ($i = 0; $i < $sides; $i++) {
        $angle = 2 * M_PI * $i / $sides;
        $x = $centerX + $radius * cos($angle);
        $y = $centerY + $radius * sin($angle);
        $points[] = $x;
        $points[] = $y;
    }
    return $points;
}

$image = imagecreatetruecolor(500, 500);
$white = imagecolorallocate($image, 255, 255, 255);
$green = imagecolorallocate($image, 0, 128, 0);
imagefill($image, 0, 0, $white);

// 역동적 인 생성 7 부업(七부업)
$points = generatePolygonPoints(250, 250, 200, 7);

imageopenpolygon($image, $points, 7, $green);

// 출력 이미지
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

이런 식으로, 당신은 $ 측면 의 값을 바꾸어 여러 측면의 다각형을 그릴 수 있습니다. 이는 수학적 차트의 동적 디스플레이에 매우 적합합니다!

3. 주목할만한 것들

  • ImageOpenPolygon () 에는 GD 확장 지원이 필요하여 PHP가 GD 라이브러리를 설치하고 활성화 할 수 있도록해야합니다.

  • 포인트 배열의 길이는 2 * 포인트 여야합니다. 그렇지 않으면 오류가 발생합니다.

  • 다각형을 닫으려면 ImageOpenPolygon () 대신 ImagePolygon ()을 사용하십시오.

  • 파일을 저장할 때 서버의 디렉토리 /var/www/m66.net/uploads/가 이미 존재하고 쓰기 권한이 있는지 확인하십시오.

4. 요약

ImageOpenPolygon ()을 통해 PHP에서 수학 그래픽을 쉽게 시각화 할 수 있습니다. 기본 그래픽 도면에 적합 할뿐만 아니라 수학 공식과 결합하여 풍부한 동적 디스플레이 효과를 달성 할 수 있습니다. 마스터 링 PHP 이미지 처리 및 데이터 시각화 기능을 다음 단계로 끌어 올릴 수 있습니다!