我尝试使用imagik将.CR2或.NEF文件转换为jpg。
ImageMagik安装在服务器上。 我的代码:
$im = new Imagick( 'canonRaw_test.CR2' );
$im->setImageFormat( 'jpg' );
$im->writeImage( 'canonRaw_test.jpg' );
$im->clear();
$im->destroy();
它返回: 致命错误:未捕获的异常&#39; ImagickException&#39;消息&#39;无法打开图像`/var/tmp/magick-80620Kc-ZP09ux4Rc.ppm' ;:没有这样的文件或目录@ error / blob.c / OpenBlob / 2658&#39; < / p>
相同的代码与jpg甚至.HDR文件完美配合。
注意:图像文件似乎很好。我测试了其他.cr2,以确保它不是问题,因为文件本身。
任何想法? 感谢。
答案 0 :(得分:2)
好吧,我解决了。
我必须安装ufraw。 在CentOS上:
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
yum install libjpeg-turbo dcraw perl-Image-ExifTool
yum install ufraw
然后更新imageMagick的delegates.xml:
<delegate decode="dng:decode" command=""ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
使用ufraw-batch的绝对路径:
command=""ufraw-batch"
替换为:
command=""/usr/bin/ufraw-batch"
要找到我使用的绝对路径
locate ufraw-batch
如果它没有显示位置,请使用:
echo $PATH
它将为您提供程序所在的文件夹,并尝试&#34; ls&#34;他们每个人。你会发现ufraw-batch然后它的绝对路径。
我花了2天时间来实现这一目标,因为我不习惯使用命令行。希望它可以在将来帮助某人。