NEF в JPG с ImageMagick

Я впервые использую ImageMagick, мне удалось установить все мои зависимости и я могу запустить конвертирование через терминал, но у меня возникают проблемы с запуском некоторых команд из PHP.

Вот тот, который меня полностью озадачил, это прекрасно работает в терминале:

 convert DSC4741.nef result.jpg

Но это не будет работать в PHP:

$im = new Imagick( 'DSC4741.nef' );
$im->setImageFormat( 'jpg' );
$im->writeImage( 'result.jpg' );
$im->clear();
$im->destroy();

Я могу конвертировать JPEG без проблем с PHP, но он отказывается делать .NEF.

Вот что я проверил:

  • Права на файл хороши (доступны для записи)
  • Я могу конвертировать JPG с точным кодом
  • Я сменил расширение на строчные
  • Удалено предыдущее подчеркивание из имени файла

Любая помощь приветствуется!

0

Решение

Кажется, проблема в том, что вы не используете абсолютные пути.
Используйте что-то вроде __ФАЙЛ__ или на машине Windows (вам нужно заменить обратную косую черту на прямую):

$im = new Imagick( str_replace('\\', '/', dirname(__FILE__)) . '/DSC4741.nef' );
$im->setImageFormat( 'jpg' );
$im->writeImage( str_replace('\\', '/', dirname(__FILE__)) . '/result.jpg' );
$im->clear();
$im->destroy();

Если это не решит проблему, возможно, внешняя программа для преобразования файловых форматов не установлена ​​или не связана в imagemagick.
Посмотреть здесь: Imagick не может открыть изображения DNG

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]