2013-10-06 26 views
1

我想完成我的圖像上傳,利用imagick處理各種圖像類型。有一件事我特別想說明的是將jpeg文件轉換爲漸進式jpeg。我已經嘗試了下面的代碼,但是當我查看在irfranview中獲取輸出的圖像時,jpeg不是漸進的。有任何想法嗎?這從字面上必須在週一上班..請幫助PHP Image Interlacing現在與Imagick合作,爲什麼?

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

我有同樣的問題。你有沒有遇到過解決方案? – Gordo

回答

0

我知道這個線程是舊的,但這是一個答案,可能會在未來爲他人節省時間。

那麼既然你是從文件讀取圖像,你應該使用下面的方法來代替: Imagick :: setInterlaceScheme

似乎Imagick :: setImageInterlaceScheme將只當Imagick被用來產生圖像本身...