我第一次使用ImageMagick,我已经设法安装了所有的依赖项,并且可以通过终端运行转换,但是我无法从PHP运行一些命令。
这是让我完全难过的一个,这在终端中很有用:
convert DSC4741.nef result.jpg
但这不会在PHP中运行:
$im = new Imagick( 'DSC4741.nef' );
$im->setImageFormat( 'jpg' );
$im->writeImage( 'result.jpg' );
$im->clear();
$im->destroy();
我可以用PHP转换jpeg没有问题,但它拒绝使用.NEF。
这是我检查的内容:
非常感谢任何帮助!
答案 0 :(得分:0)
问题似乎是你没有使用绝对路径。 使用 __ FILE __ 或Windows机器上的内容(您需要将反斜杠替换为forwardslash):
$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 is unable to open DNG images