我使用Windows 7并安装了ImageMagic。我可以在没有问题的情况下从控制台运行Identify命令。
但是当我使用我的Rails应用程序(从Aptana RadRails IDE运行)时,它给了我一个错误:
Magick: no decode delegate for this image format `/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]'' @ error/constitute.c/ReadImage/532.
Magick: no decode delegate for this image format `/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]'' @ error/constitute.c/ReadImage/532.
[paperclip] c:/ImageMagick-6.6.3-Q16/identify -format %wx%h 'C:/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]'
[paperclip] An error was received while processing: #<Paperclip::NotIdentifiedByImageMagickError::/Users/karl/AppData/Local/Temp/stream,5000,1.jpg is not recognized by the 'identify' command.>
[paperclip] c:/ImageMagick-6.6.3-Q16/identify -format %wx%h 'C:/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]'
[paperclip] An error was received while processing: #<Paperclip::NotIdentifiedByImageMagickError: C:/Users/karl/AppData/Local/Temp/stream,5000,1.jpg is not recognized by the 'identify' command.>
如果我尝试从控制台运行相同的命令,它可以正常工作(在任何用户下)。 (注意:我没有添加引号)
C:\Users\karl>c:/ImageMagick-6.6.3-Q16/identify -format %wx%h C:/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]
600x450
有趣的是,如果我用引号(')手动运行命令,那么我会得到同样的错误。
C:\Users\karl>c:/ImageMagick-6.6.3-Q16/identify -format %wx%h 'C:/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]'
Magick: no decode delegate for this image format `/Users/karl/AppData/Local/Temp/stream,5000,1.jpg[0]'' @ error/constitute.c/ReadImage/532.
我试图修改Paperclip,以便它不会添加引号,但它似乎没有任何区别,或者我只是做错了。
答案 0 :(得分:1)
在Linux上安装时遇到了同样的问题。首先,如果您使用的是客户端库(例如,MagickWand for php),那么您需要确保先安装图像库,然后再安装imagemagick,然后安装扩展程序。
虽然我不确定Windows的等效内容,但我始终确保libjpeg-devel
和libpng-devel
。
为了检查您拥有的代表,您可以运行convert -list form
,这将打印ImageMagick知道如何使用的格式列表。
答案 1 :(得分:1)
如果在使用TTF字体和ImageMagick时出现此错误,则还需要在运行./configure之前安装freetype-devel。另外,请确保在安装后通过http://imagemagick.org的源链接安装“make check”。
答案 2 :(得分:0)
尝试在 lib / paperclib.rb 文件中找到 109 行:
params = quote_command_options(*params).join(" ")
并将其替换为:
params = params.join(" ")