2012-12-15 1 views
1

Imagemagick을 사용하여 PNG 이미지의 크기를 조절하는 다음 코드를 얻었습니다.imagemagick을 사용하여 이미지의 크기를 조정하고 품질을 보존하는 대체 방법

$im = new imagick("$file"); 
$im->thumbnailImage($newwidth, $newheight); 
$im->writeImage($output); 

그러나 이것은 thumbnailimage() 방법을 사용하는 동안있는 Imagemagick이 그들을 만들 수있는만큼 지금까지 내가 아는 한, 작게 만들어진 이미지를 생성합니다.

이미지의 크기를 조정하고 출력 이미지의 품질을 최대한 높이고 싶다면 파일 크기가이 경우에는별로 문제가되지 않습니다. PNG의 크기를 조정하고 가능한 한 높은 품질을 유지할 수있는 대체 방법이 있습니까?

답변

0

이미지를 축소하면 화질이 저하됩니다. 그러나 보간을 사용하여 해당 품질을 시뮬레이션 할 수 있습니다.

PHP의 GD 확장 기능은 imagecopyresampled 기능과 함께 제공되지만 최상의 품질은 아닙니다. 그러나 [comments]에서 유용한 imagecopyresampledbicubic 함수를 찾았습니다.이 함수는 기본 함수보다 훨씬 뛰어납니다. 확실히 한 번 시도해 볼 가치가있는 것 같습니다.

0

축소판은 파일 크기를 더 작게 만드는 모든 EXIF ​​데이터를 제외하고 resize와 같습니다.

$ im-> setCompressionQuality (100);를 추가 할 수 있습니다. 크기를 조정하면서 다른 필터를 사용해도되지만 일부 이미지에서는 더 잘 작동합니다. 일부 선명 효과 추가 $ im-> unsharpMaskImage (0, 0.5, 1, 0.05);

관련 문제