현재 위치: > 최신 기사 목록> ImagePolygon ()을 사용하기 전에 imageAntialias ()를 호출하는 효과 비교

ImagePolygon ()을 사용하기 전에 imageAntialias ()를 호출하는 효과 비교

M66 2025-06-05

PHP에서 imagePolygon () 함수는 GD 라이브러리를 사용하여 그래프를 그리면 다각형을 그리는 데 도움이 될 수 있습니다. 그래픽을 더 매끄럽고 아름답게 만들기 위해 GD 라이브러리는 imageAntialias () 기능을 제공하여 알리 아스를 활성화하거나 비활성화합니다. 이 기사에서는 ImageAntialias () 함수를 호출하기 전후에 ImagePolygon ()을 사용하여 다각형을 그리는 효과의 차이에 대해 설명하고 코드 예제를 통해 시각적으로 표시합니다.

1. imageAntialias () 란 무엇입니까?

ImageAntialias () 는 GD 라이브러리에서 이미지의 안티 아일리 아싱을 활성화하거나 끄는 기능입니다. 항아리아징은 이미지 처리에서 가장자리를 평활화하는 기술입니다. 가장자리 색상을 혼합하여 가장자리는 "들쭉날쭉 한"것처럼 보이고 그래픽의 품질을 향상시킵니다.

기능 프로토 타입은 다음과 같습니다.

 bool imageantialias(resource $image, bool $enabled);
  • $ 이미지 : 이미지 리소스.

  • $ enabled : 부울 값, true는 aliasing, false 비활성화를 활성화합니다.

2. ImagePolygon () 함수 소개

ImagePolygon ()은 여러 지점으로 구성된 다각형을 그리는 데 사용되며 함수 서명은 다음과 같습니다.

 bool imagepolygon(resource $image, array $points, int $num_points, int $color);
  • $ 포인트 : [x1, y1, x2, y2, ..., xn, yn] 로 형식화 된 포인트 좌표 배열.

  • $ num_points : 포인트 수.

  • $ 컬러 : 색상 자원.

3. image polygon 도면에 대한 반 알리 아스의 영향

기본적으로 GD에 의해 그려진 다각형의 가장자리에는 안티 앨리어싱이 없으며 가장자리는 특히 다각형 가장자리가 더 크면 더 "삐걱 거리는"것처럼 보입니다. imageAntialias ($ im

4. 코드 예제 비교

다음은 imageAntialias ()를 호출하기 전후에 다각형 그리기의 차이를 보여주는 예입니다.

 <?php
header('Content-Type: image/png');

// 캔버스를 만듭니다
$width = 200;
$height = 200;
$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);

// 다각형 정점
$points = [50, 30, 150, 30, 180, 100, 100, 170, 20, 100];

// 반 알리 아스를 끄십시오,다각형을 그립니다
imageantialias($image, false);
imagepolygon($image, $points, count($points)/2, $black);

// 브러시 위치 오프셋,두 번째 다각형을 그립니다
// 반 알리 아스를 활성화하십시오,다각형을 그립니다
imageantialias($image, true);
$points2 = [70, 50, 170, 50, 200, 120, 120, 190, 40, 120];
imagepolygon($image, $points2, count($points2)/2, $red);

// 사진 및 릴리스 리소스를 출력합니다
imagepng($image);
imagedestroy($image);
?>

V. 효과 분석

  • 안티 앨리어싱이없는 다각형 (검은 색) : 가장자리는 분명히 들쭉날쭉하며 특히 슬래시는 거칠다.

  • 반 알리 아스 다각형 (빨간색) : 부드러운 모서리와 부드러운 시각 효과, 특히 반 알리 아스 효과의 경사 부분에서.

6. 주목할만한 것들

  • 모든 환경이 반 알리어스를 지원하는 것은 아니며 일부 서버 환경 또는 GD 버전은 완전히 효과적이지 않을 수 있습니다.

  • 안티 앨리어싱은 그리기시 계산량을 증가시키고 복잡한 그래픽은 성능에 약간 영향을 줄 수 있습니다.

  • ImageAntialias ()는 Imageline () , ImagePolygon () 등과 같은 특정 드로잉 기능에만 유효합니다.

7. 요약

imageAntialias () 함수를 호출하면 imagePolygon () 드로잉 모서리의 부드러움을 크게 향상시켜 그림이 더 아름답습니다. 고품질 그래픽이 필요한 시나리오의 경우 반 알리 아싱을 가능하게하는 것이 좋습니다. 그러나 실제 성능 요구 사항과 호환성을 기반으로해야합니다.