PHP에서 ImageOpenPolygon () 은 매우 실용적인 이미지 그리기 기능이며, 특히 간단한 기하학적 그림 그리기, 복잡한 프랙탈 구조 또는 동적 차트 생성과 같은 수학에서 다각형 구조를 시각화하는 데 특히 적합합니다. 이 기사에서는 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 () 에 의해 생성).
다음은 펜타곤의 열린 폴리 라인을 그리는 간단한 예입니다.
<?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 개의 파란색 세그먼트로 구성된 펜타곤이 있지만 엽서가 보입니다.
때로는 이미지를 파일로 직접 출력하는 대신 파일로 저장하려면 다음을 수행 할 수 있습니다.
<?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 경로에 저장합니다.
정기적 인 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);
?>
이런 식으로, 당신은 $ 측면 의 값을 바꾸어 여러 측면의 다각형을 그릴 수 있습니다. 이는 수학적 차트의 동적 디스플레이에 매우 적합합니다!
ImageOpenPolygon () 에는 GD 확장 지원이 필요하여 PHP가 GD 라이브러리를 설치하고 활성화 할 수 있도록해야합니다.
포인트 배열의 길이는 2 * 포인트 여야합니다. 그렇지 않으면 오류가 발생합니다.
다각형을 닫으려면 ImageOpenPolygon () 대신 ImagePolygon ()을 사용하십시오.
파일을 저장할 때 서버의 디렉토리 /var/www/m66.net/uploads/가 이미 존재하고 쓰기 권한이 있는지 확인하십시오.
ImageOpenPolygon ()을 통해 PHP에서 수학 그래픽을 쉽게 시각화 할 수 있습니다. 기본 그래픽 도면에 적합 할뿐만 아니라 수학 공식과 결합하여 풍부한 동적 디스플레이 효과를 달성 할 수 있습니다. 마스터 링 PHP 이미지 처리 및 데이터 시각화 기능을 다음 단계로 끌어 올릴 수 있습니다!