2013-10-06 1 views
1

다양한 이미지 유형을 처리하는 데 imagick을 사용하는 이미지 업 로더를 마무리하려고합니다. 특히 내가 일하려고하는 한 가지는 JPEG 파일을 점진적 jpeg로 변환하는 것입니다. 아래의 코드를 시도했지만 irfranview에서 출력되는 이미지를 볼 때 jpeg는 프로그레시브가 아닙니다. 어떤 아이디어?PHP Imagick Class - JPEG를 프로그레시브 JPEG로 변환 하시겠습니까? 인터레이스가 작동하지 않습니다.

foreach ($thumbnailScaleWidths as $thumbnailScaleWidth) { 
    $thumbnail = new imagick($uploadedFile['tmp_name']); 
    $thumbnailDimensions = $thumbnail->getImageGeometry(); 
    $thumbnailWidth = $thumbnailDimensions['width']; 
    $thumbnailHeight = $thumbnailDimensions['height']; 
    $thumbnailScaleHeight = ($thumbnailScaleWidth/$thumbnailWidth) * $thumbnailHeight; 

    $thumbnail->thumbnailImage($thumbnailScaleWidth, $thumbnailScaleHeight); 
    $thumbnail->setImageInterlaceScheme(Imagick::INTERLACE_PLANE); 
    $thumbnail->writeImages($_SERVER['DOCUMENT_ROOT'] . "/Resources/Media/$userId/$internalName-$thumbnailScaleWidth.$fileType", true); 
} 

왜 이것이 프로그레시브 jpeg를 출력하지 않는가?

+0

안녕하세요. Braydon, 점진적인 JPEG를 만들기위한 해결 방법을 찾았습니까? – Webinan

답변

1

setImageInterlaceScheme 대신 setInterlaceScheme을 사용하십시오. 후자는 아무 것도하지 않지만 이전에는 정상적으로 작동합니다.

+0

"대답이 아닙니다"라고 표시된 사람에 대한 응답으로 대답과 비슷하고 의견이 덜한 것처럼 수정되었습니다. 이것은 분명히 답을 시도한 것이므로 플래그가되어서는 안됩니다. 그러나 틀린 경우 (나는 PHP에 대한 경험이 없기 때문에 말할 수 없습니다) 투표하지 말고 투표해야합니다. – ArtOfWarfare

+0

setImageInterlaceScheme은 기존 이미지를 편집하는 대신 Imagick을 사용하여 * 이미지를 만들 때 사용한다고 가정합니다. 비슷한 방법으로 많은 것들이 존재합니다. – Bell

관련 문제