尝试使用Mac OSX和自制软件给RMagick一个旋转.
版本:
Mac OSX 10.7.5,HomeBrew 0.9.4.,Ruby 2.0,Rmagick 2.13.2,ImageMagick 6.8.6-3.
require 'RMagick' include Magick cat = ImageList.new("test.jpg") cat.display exit
这是我的终端输出:
rename.rb:5:in `display': delegate library support not built-in `test.jpg' (X11) @ error/display.c/displayImages/16067 (Magick::ImageMagickerror) from rename.rb:5:in `<main>'
虽然我已经安装了适当的代理(但我不完全确定,因为我在ImageMagick中是一个n00b).如果我运行convert -list configure,我得到这个:
... DELEGATES bzlib fontconfig freetype jng jpeg png rsvg tiff xml zlib ...
有任何想法吗?谢谢!
解决方法
图像已被成功读取和处理,cat.display抛出了您的错误.它不是图像格式委托丢失,而是窗口显示一个.
display test.jpg
所以这是一个Image Magick问题,而不是RMagick或Ruby问题.
似乎显示方法设计用于X11窗口,这不是Mac OS X上的默认功能.您可以重新构建它,包括X11服务和库.我使用XQuartz进行X11支持,但是在Image Magick之后安装它(正如我所做的那样)无法解决这个问题.所以,我得到了和你一样的错误,但是我不使用display,我只是在命令行上使用open test.jpg这样的命令,或者:
`open test.jpg`
来自Ruby.这不是一个与平台无关的解决方案,但我可以查看我处理的图像.
或者,您可以尝试使用X11支持重新安装Image Magick和rmagick(当然,前提是您已安装X11服务,例如XQuartz):
brew unlink imagemagick brew install imagemagick --with-x11 gem install rmagick
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。