현재 위치: > 최신 기사 목록> ImageFilledPolygon () + ImageAntialias () : 부드러운 채우기 다각형을 그립니다

ImageFilledPolygon () + ImageAntialias () : 부드러운 채우기 다각형을 그립니다

M66 2025-05-28

이미지 처리에 PHP를 사용할 때 GD 라이브러리는 그리기 작업에 대한 풍부한 기능을 제공합니다. 기본적으로 그래프를 그릴 때, 특히 슬래시 나 다각형을 그릴 때 가장자리가 들릴 수 있습니다. 더 부드러운 그래픽 효과를 얻으려면 imageAntialias () 함수를 사용하여 항 알리아 기능을 활성화 할 수 있습니다. 이 기사에서는 ImageAntialias () 함수를 ImageFilledPolygon () 함수와 함께 사용하여 부드러운 에지 채우기 다각형을 그리는 방법에 대해 자세히 설명합니다.

기능 소개

  • ImageAntialias (Resource $ image, bool $ enabled) : 지정된 이미지 리소스의 aliasing 기능을 활성화 또는 비활성화합니다.

  • ImageFilledPolygon (Resource $ image, array $ points, int $ num_points, int $ color) : 주어진 색상으로 채워진 다각형을 그립니다.

예 : 부드러운 펜타곤을 그립니다

다음은 반 알리 아싱 효과로 채워진 오각형 이미지를 생성하고 PNG 형식으로 출력하는 방법에 대한 완전한 예입니다.

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

// 배경색을 흰색으로 설정합니다
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

// 반 알리 아스를 활성화하십시오
imageantialias($image, true);

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

// 펜타곤을 정의하는 포인트(시계 방향 또는 반 시계 방향 순서)
$points = [
    150, 50,   // 꼭지점1
    250, 120,  // 꼭지점2
    210, 230,  // 꼭지점3
    90, 230,   // 꼭지점4
    50, 120    // 꼭지점5
];

// 채워진 펜타곤 그림
imagefilledpolygon($image, $points, 5, $blue);

// 헤더 정보 출력 이미지를 설정합니다
header('Content-Type: image/png');
imagepng($image);

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

위의 코드를 polygon.php 로 저장 한 다음 https://m66.net/polygon.php 와 같은 브라우저를 방문하여 그린 부드러운 펜타곤 이미지를 확인하십시오.

주목해야 할 것

  1. 반 알리 아싱 효과는 생성 된 이미지가 진정한 색상 이미지 ( imageCreateTrueColor () 에 의해 생성) 일 때만 적용됩니다.

  2. imageCreate () 에서 만든 팔레트 이미지를 사용하는 경우 imageAntialias ()가 적용되지 않습니다.

  3. 다각형의 정점은 올바르게 연결되어야하며, 일반적으로 시계 방향 또는 시계 반대 방향으로 배열되어 있으므로 모양이 혼란 스러울 수 있습니다.

  4. ImageAntialias () 는 재깅을 줄일 수 있지만 성능에 영향을 미칩니다. 많은 복잡한 그래픽을 그릴 때는 성능과 효과를 측정해야합니다.

확장 : 이미지를 파일에 저장합니다

이미지를 직접 출력하는 대신 파일로 저장하려면 imagepng ($ image)를 다음과 같이 수정하십시오.

 imagepng($image, 'smooth_polygon.png');

현재 이미지는 현재 디렉토리의 Smooth_Polygon.png 파일에 저장되며, 예를 들어 https://m66.net/smooth_polygon.png 와 같이 액세스 할 수 있습니다.

요약

imageAntialias ()ImageFilledPolygon ()을 결합하여 PHP에서 더 매끄럽고 아름다운 채우기 다각형 그래픽을 그릴 수 있습니다. 이 기술은 차트, 벡터 그래픽, 로고 및 이미지 부드러움이 필요한 기타 장면을 생성하는 데 적합합니다. GD 라이브러리의 도움으로 PHP는 백엔드 처리에 적합 할뿐만 아니라 기본 이미지 그리기 작업을 수행 할 수 있습니다.