PHP를 사용하여 이미지를 처리 할 때 imageAntialias () 함수는 주로 드로잉 작업에서 안티 앨리어싱을 가능하게하는 데 사용되는 일반적인 도구입니다. 그러나 기존 이미지 파일의 경우 개발자는 종종 궁금해합니다. ImageAntialias ()는 이미지 품질, 특히 반응 방지를 향상시키는 데 직접 사용될 수 있습니까?
imageAntialias () 는 PHP GD 라이브러리의 함수이며 구문은 다음과 같습니다.
bool imageantialias(GdImage $image, bool $enabled)
이 기능은 지정된 이미지 리소스에 대한 aliasing을 활성화 또는 비활성화하는 데 사용됩니다. 반 알리 아싱의 목적은 이미지의 가장자리를 직선, 곡선, 타원 및 텍스트와 같은 벡터 요소를 그리는 데 더 매끄럽게 보이게하는 것입니다.
imageAntialias ()가 기존 이미지 파일의 재깅 문제를 자동으로 향상시키지 않을 것임이 분명합니다. 후속 드로잉 작업에서만 기능합니다. 예를 들어, 이미지를로드 한 다음 이미지에 선 또는 텍스트를 그리면 안티 아리 아싱을 활성화하면 새로 그려진 요소가 더 매끄럽게 만들 수 있습니다.
예를 들어:
$image = imagecreatefromjpeg('https://m66.net/images/example.jpg');
imageantialias($image, true);
// 후속 그림에만 효과적입니다
imageline($image, 0, 0, 200, 200, imagecolorallocate($image, 255, 0, 0));
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
위 코드에서 imageAntialias ()가 활성화 되더라도 원본 이미지 예제 의 디스플레이 효과를 변경하지 않습니다 . 그려진 빨간 선만이 반 알리 아스의 영향을받습니다.
대답은 아니오입니다. GD 라이브러리의 imageAntialias () 에는 이미지 리샘플링, 선명성 또는 블러 스무딩 흐름과 같은 처리 기능이 없습니다. 이미지 그리기의 시각적 품질을 향상시키는 데만 사용됩니다. 기존 이미지의 들쭉날쭉 한 느낌을 향상 시키려면 이미지 스케일링 (리샘플링), 블러 처리, 에지 스무딩 및 기타 방법과 같은 다른 기술을 사용해야합니다.
예를 들어, 앨리어싱 방지 "시뮬레이션"에 이미지 스케일링을 사용하십시오.
$src = imagecreatefromjpeg('https://m66.net/images/example.jpg');
$width = imagesx($src);
$height = imagesy($src);
// 큰 이미지를 만들고 스무딩을 위해 축소하십시오
$scale = 2;
$tmp = imagecreatetruecolor($width * $scale, $height * $scale);
imagecopyresampled($tmp, $src, 0, 0, 0, 0, $width * $scale, $height * $scale, $width, $height);
$smoothed = imagecreatetruecolor($width, $height);
imagecopyresampled($smoothed, $tmp, 0, 0, 0, 0, $width, $height, $width * $scale, $height * $scale);
header('Content-Type: image/jpeg');
imagejpeg($smoothed);
imagedestroy($src);
imagedestroy($tmp);
imagedestroy($smoothed);
이 방법은 실제로 반 알리 아스 알고리즘이 아니지만 재규어의 감각을 어느 정도 줄일 수 있습니다.
imageAntialias ()는 GD 함수를 사용하여 이미지에 그려진 후속 그래픽 요소에만 영향을 미칩니다.
기존 이미지 파일의 안티 앨리어싱 효과를 직접 개선 할 수는 없습니다 .
기존 이미지의 부드러움을 향상 시키려면 스케일링 및 리샘플링, 필터 및 기타 수단을 사용해야합니다.
보다 복잡한 이미지 품질 최적화를 위해서는 Imagemagick 및 OpenCV와 같은 전문 라이브러리를 사용하는 것이 좋습니다.
따라서 PHP의 GD 라이브러리를 사용하여 이미지를 처리 할 때 ImageAntialias () 의 적용 범위는 작동 목표에 따라 올바르게 이해되어 예상 이미지 효과를 달성해야합니다.