浏览 4332 次
锁定老帖子 主题:Rmagick快速應用指南
精华帖 (8) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-06
最后修改:2010-07-09
1.入門篇 Rails上的RMagick使用经验之谈 http://www.iteye.com/topic/125487 亮點如下: (1)使用RMagick,重要会用到两个对象:Image和Draw.这两个对象可以形象的理解为:Image对象相当于画布,Draw对象相当于画笔. (2)对象的主要功能有:在图片上写字,在图片上画线,把另一张图片组合到当前图片上. 之所以把它定義為入門篇是因為它給我們簡單的介紹了一些語法..語法懂了,具體應用也就是按圖索驥而已....更详细点的可以参考这个文档http://www.imagemagick.org/RMagick/doc/ 2.進階篇 接下來讓我們先看兩個例子吧...它们就像孙悟空的如意金刚棒...allmoneycomemyhome.... 小小小... require 'rubygems' require 'RMagick' img = Magick::Image.read('image/rails.png').first width = img.columns height = img.rows thumb = img.resize(width * 0.8, height * 0.8) thumb.write('image/rails_thumb_1.png') {self.quality = 50} #compress压缩大小 (1)RMagic 处理图片-Magick::Image对象学习_1 http://www.weekface.info/2010/04/08/ruby-rmagick-imagelist 大大大...... require 'rubygems' require 'RMagick' img = Magick::Image.read('image/rails.png').first #Image.read返回一个数组(因为有时候我们会read一个GIF动画,那么GIF动画的每一帧会存到这个数组里,真是周到) width, height = 100, 100 thumb = img.resize(width, height) thumb.write('image/rails_thumb.png') (2)RMagic处理图片小试牛刀 http://www.weekface.info/2010/01/30/ruby-rmagic 当然上面的两个例子并不能满足一些实际的要求,要我们来看一个很实际的应用-->水印问题.. (3)ruby中rmgaick给图片加版权信息和水印(中文水印) http://www.iteye.com/topic/107055 从该篇文章的题目你就可以知道,它是给图片加文字的...这其实也只是小case,不过实例代码还是很有用的....(这篇文章的亮点是...我找不到复制按钮...) 这里还有个实例 (4)使用RMagick制作特效 http://www.iteye.com/topic/559123 Rows = 60 Cols = 250 Text = 'Ruby rocks!' anim = Magick::ImageList.new ex = Magick::Image.new(Cols, Rows) text = Magick::Draw.new text.gravity = Magick::CenterGravity text.pointsize = 36 text.font_weight = Magick::BoldWeight text.font_style = Magick::ItalicStyle text.stroke = 'transparent' text.annotate(ex, 0, 0, 2, 2, Text) { self.fill = 'gray60' } anim << ex.copy ex = ex.blur_image(0, 3) anim << ex.copy text.annotate(ex, 0, 0, -1, -1, Text) { self.fill = 'maroon' } anim << ex.copy anim.delay = 100 anim.cur_image.delay = 300 anim.iterations = 0 anim.write('shadow.gif') exit (为了避免广大死宅去求合体,我先声明一点,该链接的作者是男的.....) 3.實戰篇 由於一直對圖片裁剪情有獨鍾,所以選擇了這兩篇來作實踐例子... (1)基于jquery和mini_magick的图片裁剪(这篇只是为了跟下面的作对比...虎跑威武..) http://www.iteye.com/topic/541141 (2)javascript-image-cropper-ui with rails http://www.iteye.com/topic/437357 def update @photo = Photo.find params[:id] img = Magick::Image::read(File.expand_path(RAILS_ROOT)+"/public/"+@photo.public_filename(:medium)).first img.crop!(::Magick::CenterGravity, params[:x1].to_i, params[:y1].to_i, params[:width].to_i, params[:height].to_i, true) img.write File.expand_path(RAILS_ROOT)+"/public/"+@photo.public_filename(:thumb) redirect_to photo_path(@photo) end 让我们继续吧.... 接下来这两个例子有点老...还没试过..不过里面写的东西倒是挺不错的.. (3)Render Great-looking Collages with Ruby and RMagick(06年的文章....) http://weare.buildingsky.net/2006/10/18/render-greatlooking-collages-with-ruby-and-rmagick 四个实例: * Resize and Composite Main image *Layout Slides * Add Slide images and Compositep Alpha Channel(阿尔法通道(Alpha Channel)是指一张图片的透明和半透明度) *Experiment! (4)Using RMagick with Flickr http://weare.buildingsky.net/2006/10/23/using-rmagick-with-flickr 下面这篇我还没看...不过有位高人告诉我,这是神器,有它足以秒杀一切需求.... (5)ImageMagick v6 Examples --Annotating Images http://www.imagemagick.org/Usage/annotating/ 按圖索驥,基本上應有盡有,具体用法,看看就懂.... #-----------------------写在最后-----------------------------------------# 对于Rmagick我知道的不多,只是最近刚好需要,于是就学习了下,如果文章里有什么谬误的话,烦请各位大大指出...另外,由于找不到其它实例,所以里面的很多东西都是采自JE的...希望有资源的兄弟们,能够发上来让我学习下...万分感谢.. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-07-14
RMagick 已经成为Rails web开发的必备工具了。
|
|
返回顶楼 | |
发表时间:2010-07-14
最后修改:2010-07-14
yangzhihuan 写道 RMagick 已经成为Rails web开发的必备工具了。
是啊...基本上凡是要上傳圖片,就得用上它.... BTW,最近圓圓發現了個上傳用的插件,叫CarrierWave 項目地址 http://github.com/jnicklas/carrierwave Demo http://github.com/jnicklas/carrierwave-example-app 有空就試用下吧....最好把使用總結也寫寫..嘻嘻.. |
|
返回顶楼 | |
发表时间:2010-07-20
我在找paperclip和RMagick的结合用法,到那时我看了这个,我发现也很受用,谢谢指点
|
|
返回顶楼 | |
发表时间:2010-07-20
jordan0611 写道 我在找paperclip和RMagick的结合用法,到那时我看了这个,我发现也很受用,谢谢指点
paperclip在這里....自己看吧 http://fireflyman.iteye.com/blog/704792 |
|
返回顶楼 | |
发表时间:2010-07-30
可以用paperclip和nginx结合,利用nginx upload module去处理文件,
然后用Rmaigkc去压缩,resize图片. 链接:http://matthewhutchinson.net/2010/1/6/nginx-upload-module-with-paperclip-on-rails |
|
返回顶楼 | |