NEF в JPG с ImageMagick

0

Я впервые использую ImageMagick, мне удалось установить все мои зависимости и запустить конвертер через Terminal, но у меня возникли проблемы с запуском некоторых команд с 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
    Мне любопытно, так как ты не говоришь. Что происходит, когда вы делаете это с .nef Вы получаете какие-либо ошибки? Что происходит? ^^
  • 0
    Файл NEF может иметь размер 30+ МБ, поэтому у вас могут быть проблемы с пространством. Просто для теста попробуйте установить размер изображения значительно меньше, скажем, 1024x768, прежде чем читать его, и посмотрите, поможет ли это ... используйте $im->setSize()
Показать ещё 13 комментариев
Теги:
image-processing
imagemagick
imagemagick-convert

1 ответ

0

Проблема заключается в том, что вы не используете абсолютные пути. Используйте что-то вроде __FILE__ или на компьютере с Windows (вам нужно заменить обратную косую черту на forwardlash):

$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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню