Imagick 无法打开 DNG 图片
Imagick is unable to open DNG images
如您所见,图像 _IGP4559.DNG 存在但 Imagick 无法打开它。
JPEG 图片效果很好。
readImage()
returns同样的错误。
图片如下:http://files.patrikelfstrom.se/_IGP4559.DNG
我在终端中运行排除所有其他变量。
$ ll /var/www/_IGP4559.DNG
-rw-rw-rw- 1 monsun monsun 11841201 May 17 03:37 /var/www/_IGP4559.DNG
$ php -a
Interactive mode enabled
php > new Imagick('/var/www/_IGP4559.DNG');
PHP Warning: Uncaught exception 'ImagickException' with message 'unable to open image `/tmp/magick-29917oe6CM9MIkN8A.ppm': No such file or directory @ error/blob.c/OpenBlob/2709' in php shell code:1
Stack trace:
#0 php shell code(1): Imagick->__construct('/var/www/_IGP45...')
#1 {main}
thrown in php shell code on line 1
ImageMagick 使用其他程序读取某些图像格式,包括 DNG。
可能发生的情况是,ImageMagick 期望能够用来读取 DNG 的程序在您的系统上不存在或无法正常工作。
列出这些其他程序的文件称为 delegates.xml
在我的系统上,DNG 解码的条目是:
<delegate decode="dng:decode" command=""ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
即它正在尝试使用程序 'ufraw-batch' 进行解码,就像您看到的那样,它失败了,因为该程序在我的系统上不可用。
要解决这个问题,您要么需要安装 ufraw,要么安装一个类似的包,可以将文件从 DNG 格式转换为 ImageMagick 可以直接读取的标准格式。
如您所见,图像 _IGP4559.DNG 存在但 Imagick 无法打开它。
JPEG 图片效果很好。
readImage()
returns同样的错误。
图片如下:http://files.patrikelfstrom.se/_IGP4559.DNG
我在终端中运行排除所有其他变量。
$ ll /var/www/_IGP4559.DNG
-rw-rw-rw- 1 monsun monsun 11841201 May 17 03:37 /var/www/_IGP4559.DNG
$ php -a
Interactive mode enabled
php > new Imagick('/var/www/_IGP4559.DNG');
PHP Warning: Uncaught exception 'ImagickException' with message 'unable to open image `/tmp/magick-29917oe6CM9MIkN8A.ppm': No such file or directory @ error/blob.c/OpenBlob/2709' in php shell code:1
Stack trace:
#0 php shell code(1): Imagick->__construct('/var/www/_IGP45...')
#1 {main}
thrown in php shell code on line 1
ImageMagick 使用其他程序读取某些图像格式,包括 DNG。
可能发生的情况是,ImageMagick 期望能够用来读取 DNG 的程序在您的系统上不存在或无法正常工作。
列出这些其他程序的文件称为 delegates.xml
在我的系统上,DNG 解码的条目是:
<delegate decode="dng:decode" command=""ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
即它正在尝试使用程序 'ufraw-batch' 进行解码,就像您看到的那样,它失败了,因为该程序在我的系统上不可用。
要解决这个问题,您要么需要安装 ufraw,要么安装一个类似的包,可以将文件从 DNG 格式转换为 ImageMagick 可以直接读取的标准格式。