PHP에서 이미지를 처리 할 때 많은 개발자가 똑바로 들쭉날쭉 한 이미지 윤곽선 및 미지급 가장자리와 같은 문제를 겪게됩니다. PHP는 이미지의 품질 및 시각 효과를 향상시키기 위해 매우 실용적인 기능인 ImageAntialias () 를 제공하여 반 알리 아싱이 더 부드럽고 섬세한 이미지 개요를 끌어낼 수 있습니다.
이 기사는 imageAntialias () 함수의 사용을 소개하고 샘플 코드를 결합 하여이 기능을 사용하는 방법을 마스터하여 이미지의 부드러운 성능을 향상시킵니다.
ImageAntialias ()는 PHP의 GD 라이브러리에서 이미지의 안티 아일리 아스를 활성화하거나 끄는 기능입니다. 이미지에 선, 모양 또는 텍스트를 그리면 방이 방지가 켜지면 들쭉날쭉 한 거친 가장자리를 피할 때 이러한 요소의 가장자리가 더 매끄 럽습니다.
기능 프로토 타입 :
bool imageantialias(resource $image, bool $enabled)
$ 이미지 : 대상 이미지 리소스
$ enabled : 부울 값, 반 알리 아싱을 가능하게하기 위해 , 닫기 위해 false
반환 값은 부울으로, 반 알리 아스가 성공적으로 설정되었는지 여부를 나타냅니다.
직선, 직사각형, 원 또는 다각형을 그리면 안티 앨리어싱을 사용하지 않으면 이미지의 가장자리가 매우 거칠고 시각적 효과가 좋지 않습니다. 안티 아리 아싱을 켜면 이러한 모양이 더 자연스럽고 부드럽게 보이며 특히 고품질 출력이 필요한 아이콘, 그래픽 인터페이스 또는 사진 제작에 적합합니다.
다음 예제는 imageAntialias ()를 사용하여 고품질 원형 개요를 그리는 방법을 보여줍니다.
<?php
// a 200x200 진정한 색 캔버스
$width = 200;
$height = 200;
$image = imagecreatetruecolor($width, $height);
// 흰색으로 채워진 배경
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// 방지 방지를 활성화하도록 설정하십시오
imageantialias($image, true);
// 색상을 할당합니다:검은 색은 원형 외곽선을 그리는 데 사용됩니다
$black = imagecolorallocate($image, 0, 0, 0);
// 원형 개요를 그립니다,동등 어구(100,100),반지름90,너비는3
// 알아채다:GD도서관imagearc함수는 라인 두께 매개 변수를 직접 제어하지 않습니다.,
// 따라서 두꺼운 선을 시뮬레이션하려면 여러 도면이 필요합니다。
$thickness = 3;
for ($i = 0; $i < $thickness; $i++) {
imagearc($image, 100, 100, 180 - $i * 2, 180 - $i * 2, 0, 360, $black);
}
// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);
// 무료 메모리
imagedestroy($image);
?>
이 코드에서 :
imageantialias ($ image, true) 를 통해 반 알리 아싱이 가능합니다.
imageArc ()를 사용하여 선 너비를 시뮬레이션하기 위해 아크를 여러 번 그립니다.
결과적인 둥근 프로파일 가장자리는 매끄럽고 들쭉날쭉 한 이빨이 없습니다.
진정한 색상 이미지 만 지원됩니다 . imageAntialias ()는 imageCreatetRueColor ()에서 만든 실제 색상 이미지에만 유효하며 팔레트 이미지에는 유효하지 않습니다.
성능 오버 헤드 : 반 알리어스를 켜면 계산의 양이 증가하고 복잡한 이미지 나 대규모 도면이 그려 질 때 성능이 영향을받을 수 있습니다.
선 너비 : GD 라이브러리 자체는 선 두께 설정을 직접 설정하는 데 도움이되지 않으며 일반적으로 여러 번 그리기하여 시뮬레이션됩니다.
지원 그래픽 : 반 알리 아싱은 선과 모양에 명백한 영향을 미치지 만 일부 텍스트에는 제한된 영향을 줄 수 있습니다.
PHP의 imageAntialias () 함수를 합리적으로 사용함으로써 이미지 윤곽을 그리는 품질을 크게 향상시켜 그림의 가장자리를 더 부드럽고 섬세하게 만듭니다. 다른 GD 기능을 유연하게 적용하면 많은 고품질 이미지 처리 요구 사항을 충족 할 수 있습니다. 그래픽 인터페이스를 만들거나 동적 이미지를 생성하거나 그래픽 관련 응용 프로그램을 개발하는 경우 사용자 경험을 향상시키기 위해 안티 아리 아싱을 우선시하는 것이 좋습니다.