PHP의 GD 그래픽 처리 라이브러리에서 ImageOpenPolygon () 은 개발자가 이미지 리소스에 "열린"다각형을 그릴 수있는 매우 실용적인 기능입니다. 즉, 다각형의 마지막 지점을 첫 번째 지점에 자동으로 연결하지는 않습니다. 이것은 imagePolygon () 함수와 다릅니다 (경로를 둘러싸는). 다음으로 ImageOpenPolygon () 의 매개 변수, 사용 및 실제 애플리케이션 예에 대해 자세히 알아 보겠습니다.
bool imageopenpolygon(
GdImage $image,
array $points,
int $num_points,
int $color
)
참고 : ImageOpenPolygon () 은 PHP 8.0.0 이상이 필요하며 GD 라이브러리에서 지원됩니다.
영상
유형 : gdimage
설명 : 대상 이미지 리소스, 일반적으로 imageCreatetRueColor () 또는 imageCreate () 와 같은 함수에 의해 생성됩니다.
전철기
유형 : 배열
설명 : 정점 좌표를 포함하는 1 차원 배열, 배열은 (x, y) 쌍의 순서로 배열되어야합니다. 예를 들어 [x1, y1, x2, y2, x3, y3, ...] .
num_points
유형 : int
설명 : 배열 요소 수가 아닌 정점 수 (요소 수는 정점 수의 두 배).
색상
유형 : int
설명 : 다각형 선을 그리는 데 사용되는 색상. imageColorAllocate () 함수를 통해 얻으십시오.
사진에 열린 삼각형을 그리는 간단한 PHP 스크립트를 만들어 봅시다.
<?php
// a 200x200 빈 캔버스
$image = imagecreatetruecolor(200, 200);
// 색상을 할당합니다
$white = imagecolorallocate($image, 255, 255, 255);
$blue = imagecolorallocate($image, 0, 0, 255);
// 흰색으로 채워진 배경
imagefill($image, 0, 0, $white);
// 삼각형의 세 정점을 정의하십시오
$points = [
50, 50, // 꼭지점1 (x1, y1)
150, 50, // 꼭지점2 (x2, y2)
100, 150 // 꼭지점3 (x3, y3)
];
// 열린 삼각형을 그립니다
imageopenpolygon($image, $points, 3, $blue);
// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);
// 자원을 파괴하십시오
imagedestroy($image);
?>
브라우저에서 위의 코드를 실행하면 하단 모서리가 자동으로 닫히지 않은 파란색 열린 삼각형이 표시됩니다.
ImageOpenPolygon ()은 사용자가 사용자 정의 그래픽을 수동으로 그리울 수있는 이미지 편집기를 개발할 때 매우 유용하며 사용자는 "닫힌 그래픽"대신 "경로"를 그리기를 원합니다.
예를 들어, 맵 응용 프로그램에서 사용자는 경로를 나타내는 미탈 폴리 라인 경로를 그릴 수 있습니다.
<?php
$image = imagecreatetruecolor(600, 400);
$background = imagecolorallocate($image, 240, 240, 240);
$pathColor = imagecolorallocate($image, 255, 0, 0);
imagefill($image, 0, 0, $background);
// 사용자가 그린 경로를 가정하십시오
$routePoints = [
50, 100,
200, 80,
300, 150,
450, 120
];
// 오프닝 경로를 그립니다
imageopenpolygon($image, $routePoints, 4, $pathColor);
// 서버에 저장하십시오
imagepng($image, '/var/www/m66.net/uploads/path_example.png');
// 정리
imagedestroy($image);
echo "로드맵을 저장했습니다,주소를 봅니다:https://m66.net/uploads/path_example.png";
?>
이 예에서 시스템은 빨간색 경로가있는 그림을 생성하여 M66.net 의 서버 디렉토리에 저장합니다.
포인트 순서는 매우 중요하며, 점수의 잘못된 순서는 예상치 못한 경로로 이어질 수 있습니다.
포인트 배열의 요소 수는 num_points * 2 여야합니다. 그렇지 않으면 경고가 발생할 수 있습니다.
ImageOpenPolygon ()은 헤드와 테일 포인트를 자동으로 연결하지 않습니다. 닫아야하는 경우 imagePolygon ()을 사용하십시오.
ImageOpenPolygon ()은 경로 계획, 동적 궤적, 비 폐쇄 된 패턴 및 기타 시나리오와 같은 미탈 된 다각형 경로를 그리는 데 적합합니다. 마스터 링하면 PHP 그래픽 프로세서가보다 유연하고 다재다능하게 만들 수 있습니다.
드로잉이 필요한 웹 응용 프로그램을 개발하는 경우 사용자 경험을 다음 단계로 끌어 올리기 위해 유연하게 사용하는 것을 잊지 마십시오!