PHP를 사용하여 이미지를 처리 할 때 ImageOpenPolygon 기능은 다각형을 그리는 데 사용할 수있는 매우 유용한 도구입니다. 그러나 복잡한 다각형 그래픽을 디버깅 할 때 단순히 선을 그리는 것만으로는 명확하지 않을 수 있습니다. 현재 각 정점 옆의 좌표점 숫자를 표시하면 시각화 및 디버깅의 효율이 크게 향상 될 수 있습니다.
아래에서는 PHP를 사용하여 점수 다각형을 그리는 방법을 단계별로 소개합니다.
먼저 PHP 환경에서 GD 라이브러리 지원을 가능하게해야합니다. 다음과 같이 확인할 수 있습니다.
<?php
if (function_exists('gd_info')) {
echo "GD라이브러리가 활성화되었습니다";
} else {
echo "GD라이브러리가 활성화되지 않았습니다";
}
?>
활성화되지 않은 경우 php.ini 에서 열린 Extension = gd .
다음은 다각형을 그리며 각 지점 옆의 시퀀스 번호를 표시하는 전체 코드 예입니다.
<?php
// 캔버스를 만듭니다
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);
// 색상을 정의하십시오
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0);
// 배경을 채우십시오
imagefill($image, 0, 0, $white);
// 다각형의 점을 정의하십시오(우수,두 숫자는 그룹입니다x, y)
$points = [
100, 100,
200, 80,
300, 150,
250, 300,
150, 250
];
// 열린 다각형을 그립니다
imageopenpolygon($image, $points, count($points) / 2, $black);
// 각 지점 옆에있는 포인트 숫자에 유의하십시오
for ($i = 0; $i < count($points); $i += 2) {
$x = $points[$i];
$y = $points[$i + 1];
$label = 'P' . ($i / 2);
// 마크 텍스트
imagestring($image, 3, $x + 5, $y + 5, $label, $red);
// 작은 점은 좌표를 나타 내기 위해 그릴 수 있습니다
imagefilledellipse($image, $x, $y, 6, 6, $red);
}
// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);
// 파일에 저장하십시오
// imagepng($image, '/path/to/save/mypolygon.png');
// 자원을 파괴하십시오
imagedestroy($image);
?>
이 코드는 다음과 같습니다.
500 × 500 흰색 배경 캔버스를 만듭니다
ImageOpenpolygon을 사용하여 방출되지 않은 다각형을 그립니다
각 정점에 작은 빨간 점을 그립니다
P0, P1, P2 등과 같은 빨간색으로 작은 빨간색 점 옆에 도트 번호를 표시하십시오.
이미지를 출력 대신 직접 저장하려면 line imagepng ($ image, '/spath/to/save/mypolygon.png')를 타협 할 수 있습니다. 필요에 따라 저장 경로를 수정하십시오.
예를 들어, 경로를 변경할 수 있습니다.
imagepng($image, 'https://m66.net/uploads/mypolygon.png');
(참고 : 실제로, ImagePng는 서버의 로컬 경로에만 저장할 수 있습니다. URL을 통해 액세스하려면 파일을 해당 서버 디렉토리에 배치해야합니다.)
이 기술은 다음에 이상적입니다.
다각형 지역 부서를 개발하고 디버그합니다
지도 시스템의 다각형 영역을 표시하십시오
데이터를 시각화 할 때 다른 정점의 위치 비교
그래픽 알고리즘 교육 데모
다각형의 각 지점에 숫자를 추가함으로써 각 지점의 배열 순서와 논리적 관계가 직관적으로 볼 수있어 개발 및 디버깅의 효율성을 크게 향상시킬 수 있습니다.
ImageOpenPolygon , Imagestring 및 ImageFilledElipse 를 결합하여 PHP의 좌표 번호로 다각형 그림을 쉽게 그릴 수 있습니다. 이것은 그래픽의 가독성을 향상시킬뿐만 아니라 후속 논리 처리 및 오류 문제 해결을 용이하게합니다.