За последние 24 часа нас посетили 21009 программистов и 1623 робота. Сейчас ищут 1105 программистов ...

imagick исключение NoEncodeDelegateForThisImageFormat

Тема в разделе "Обработка изображений средствами PHP", создана пользователем maximt, 16 дек 2010.

  1. maximt

    maximt Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    5
    Симпатии:
    0
    простейший код
    Код (Text):
    1.  
    2. <?php
    3. $filename = "example.tmp";
    4. $filename_small = "example_small.tmp";
    5.  
    6. $im = new Imagick($filename);
    7. $im->resizeImage (50, 50, Imagick::FILTER_SINC);
    8. $im->writeImages($filename_small, true);
    9. ?>
    как видно из примера, файл имеет не стандартное для картинки расширение.
    при записи выскакивает эксепшн NoEncodeDelegateForThisImageFormat
    если пробовать на нормальных расширениях (gif, jpg, png), то все работает

    есть идеи как победить?
    setformat и setimageformat не спасают
     
  2. denisKa

    denisKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    46
    Симпатии:
    0
    А чем не устраивают расширения графических файлов?

    Если это всё-таки, чем-то обусловлено, то можно создать файл с расширением графического файла, а затем переименовать файл с помощью функции rename.
     
  3. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    maximt, ImageMagick из расширения файла тип оного и получает.
     
  4. maximt

    maximt Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    5
    Симпатии:
    0
    почему не стандартный тип не знаю, чужой код дорабатываю.
    не хотелось бы использовать костыли, но придется..

    думаю из заголовков файла, при загрузке из tmp getformat показывает правильный тип файла