windows环境安装Rmagick【转】
在windows环境下,旧版本的Rmagick安装完gem后,需要运行一个postinstall.rb来设置windows字体等。新版本的 Rmagick没有这个步骤,代替是安装ImageMagick。我按照README安装成功后,在rails中使用还是出现无法读取字体的错误,忍无可 忍又换了旧版本的Rmagick,没想到跟ruby的解释器版本不一致,render templage的时候出现parse error类型的错误。认真比对了下新老版本的差别,原来旧版本的Rmagick在Config目录下多了个type-windows.xml来设置 windows字体,在此记录下正确的安装方法:
1.到http://rubyforge.org/frs/?group_id=12&release_id=8170,下载RMagick-1.14.1_IM-6.3.0-7-Q8.zip
2.解压后在目录执行gem install rmagick-1.14.1-win32.gem
3.最后,双击ImageMagick-6.3.0-7-Q8-windows-dll.exe安装ImageMagick
4.将ImageMagick的安装目录加进环境变量path,如果有的话就不用了
5.最后一步,将附件中的type-windows.xml拷贝进ImageMagick安装目录下的config目录,比如E:\ImageMagick-6.3.0-Q8\config,修改type.xml,原来是:
代码
- <typemap>
- <include file="type-ghostscript.xml" />
- </typemap>
修改为:
代码
- <typemap>
- <include file="type-windows.xml" />
- <!-- <include file="type-ghostscript.xml" /> -->
- </typemap>
附录:https://files.cnblogs.com/ice5/type-windows.zip
测试代码:添加水印
require 'rubygems'
require 'RMagick'
#如果不使用.first,则会在copyright.annotate(...)发生错误
#错误提示为:in 'annotate':#ff0000 method 'cur_image' for....
img = Magick::Image.read('c:\\ruby\\54\\test.gif').first
my_text = "hello"
copyright = Magick::Draw.new
copyright.font = 'Helvetica'
copyright.pointsize = 12
copyright.font_weight=Magick::BoldWeight
copyright.fill = '#000000'
copyright.gravity = Magick::SouthEastGravity
copyright.annotate(img, 0, 0, 3, 18, my_text)
img.write('c:\\ruby\\54\\test1.gif')