Nasıl ImageMagick (Imagick'teki API) kullanarak jpg dosyaları işlem?

1 Cevap php

Ben bir Blob okumaya çalışın, hatta fiziksel bir dosya okurken ben bir NoDecodeDelegateForThisImageFormat istisna olsun, - ancak ben yüklenen jpg dosyaları işlemek için PHP Imagick API ile ImageMagick kullanıyorum.

Ben kullanıyorum kodu örneği aşağıdadır:

private function resizeImageBlob($blob, $width, $height) {
    $image = new Imagick();
    $image->readImageBlob($blob);
    $image->resizeImage($width, $height, IMAGICK::FILTER_LANCZOS, 1);
    $resizedBlob = $image->getImageBlob();

    return $resizedBlob;
}

Blob temsil eden görüntü jpg resim, ancak satır okumak çalıştığında ImageMagick istisna atar:

$image->readImageBlob($blob);

Bu oluyor olabilir neden herkes biliyor mu?

1 Cevap

Benim sorunun cevabını anladım. Durum oluşmasını nedeni kütüphane jpeg desteği yerleşik yoktu aslında gerçekten, ama Imagick php uzantısının sürümü ve ImageMagick kütüphanenin sürümü, farklı çünkü bu oldu neden oldu.

Bu sorunun içine çalıştırmak için emin olmak için iyi bir yol ImageMagick kütüphane ve Imagick php uzantısı, and specifically look at the versions to see that they match hem indirmektir.

Alternatif olarak, php.ini dosyasında sağlayan ve kullanarak php / ext klasörüne Imagick php uzantısının sürümünü kontrol edebilirsiniz

echo phpinfo();

uzantısının sürümünü kontrol etmek. Sonra ImageMagick kütüphanesinin aynı sürümünü indirebilirsiniz.