PHP에서 ImageOpenPolygon ()은 일련의 좌표 지점을 통해 열린 (닫지 않음) 다각형을 그릴 수있는 매우 흥미로운 기능입니다. 이것은 별이나 눈송이 패턴과 같은 복잡한 그래픽을 그릴 때 특히 유용합니다.
이 기사는 ImageOpenPolygon ()을 사용하는 방법을 설명하고 간단한 5 점 스타와 기본 눈송이 구조를 그리는 방법을 보여줍니다.
bool imageopenpolygon(
GdImage $image,
array $points,
int $num_points,
int $color
)
$ 이미지 : 그릴 이미지 리소스.
$ 포인트 : [x1, y1, x2, y2, ...] 형식의 모든 정점 좌표를 포함하는 배열.
$ num_points : 정점 수.
$ 컬러 : 라인의 색상.
참고 : ImageOpenPolygon () 은 이러한 점을 순서대로 연결하지만 자동으로 그림을 닫지는 않습니다.
먼저, 우리는 캔버스를 만들고 간단한 5 포인트 스타를 그립니다.
<?php
// 캔버스를 만듭니다
$image = imagecreatetruecolor(300, 300);
// 색상을 할당합니다
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$starColor = imagecolorallocate($image, 255, 0, 0); // 레드 스타
// 배경을 채우십시오
imagefill($image, 0, 0, $backgroundColor);
// 5 점의 별의 정점을 정의하십시오
$points = [
150, 20, // 맨 위
179, 110,
270, 110,
197, 165,
220, 250,
150, 200,
80, 250,
103, 165,
30, 110,
121, 110
];
// 열린 오각형을 그립니다
imageopenpolygon($image, $points, count($points) / 2, $starColor);
// 출력 이미지
header('Content-Type: image/png');
imagepng($image);
// 이미지 자원을 파괴하십시오
imagedestroy($image);
?>
star.php 로 저장 한 후 브라우저에서 다음과 같이 액세스하십시오.
https://m66.net/star.php
당신은 그려진 다섯 포인트 스타를 볼 수 있습니다.
간단한 눈송이는 중앙 대칭 방사선으로 시뮬레이션 할 수 있습니다.
<?php
$image = imagecreatetruecolor(300, 300);
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
$snowColor = imagecolorallocate($image, 0, 0, 255);
imagefill($image, 0, 0, $backgroundColor);
// 눈송이 센터
$centerX = 150;
$centerY = 150;
$length = 100;
$arms = 6;
// 각 점을 계산하십시오
$points = [];
for ($i = 0; $i < $arms; $i++) {
$angle = deg2rad(360 / $arms * $i);
$x = $centerX + cos($angle) * $length;
$y = $centerY + sin($angle) * $length;
$points[] = $centerX;
$points[] = $centerY;
$points[] = $x;
$points[] = $y;
}
// 눈송이를 그립니다
imageopenpolygon($image, $points, count($points) / 2, $snowColor);
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
Snowflake.php 로 저장 한 후 브라우저에서 액세스하십시오.
https://m66.net/snowflake.php
방사형 기본 눈송이 구조를 볼 수 있습니다!
ImageOpenPolygon () 은 개방형 그래픽을 그리는 강력한 도구입니다. 수학적 계산 (예 : 삼각 기능)과 결합하여 별, 눈송이 및 더욱 복잡한 예술적 패턴과 같은 다양한 흥미롭고 복잡한 그래픽을 만들 수 있습니다.
Cooler Complex 그래픽을 생성하려면 루프 로직과 조정 알고리즘을 결합 하여이 드로잉 기능을 추가로 확장 할 수 있습니다!