`
fireflyman
  • 浏览: 118329 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

Rmagick快速應用指南

    博客分类:
  • ROR
阅读更多
鉴于一些莫名其妙的原因,我不得不帮店铺的几个小妹妹写个能加水印的东东,(为啥不用软件...这是个很纠结的问题..版权他妹的)因此就开始收集Rmagick的资料了,先分享如下:

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的...希望有资源的兄弟们,能够发上来让我学习下...万分感谢..
分享到:
评论
5 楼 shaquan6776 2010-07-30  
可以用paperclip和nginx结合,利用nginx upload module去处理文件,
然后用Rmaigkc去压缩,resize图片.

链接:http://matthewhutchinson.net/2010/1/6/nginx-upload-module-with-paperclip-on-rails
4 楼 fireflyman 2010-07-20  
jordan0611 写道
我在找paperclip和RMagick的结合用法,到那时我看了这个,我发现也很受用,谢谢指点


paperclip在這里....自己看吧
http://fireflyman.iteye.com/blog/704792
3 楼 jordan0611 2010-07-20  
我在找paperclip和RMagick的结合用法,到那时我看了这个,我发现也很受用,谢谢指点
2 楼 fireflyman 2010-07-14  
yangzhihuan 写道
RMagick 已经成为Rails web开发的必备工具了。

是啊...基本上凡是要上傳圖片,就得用上它....
BTW,最近圓圓發現了個上傳用的插件,叫CarrierWave

項目地址
http://github.com/jnicklas/carrierwave
Demo
http://github.com/jnicklas/carrierwave-example-app

有空就試用下吧....最好把使用總結也寫寫..嘻嘻..
1 楼 yangzhihuan 2010-07-14  
RMagick 已经成为Rails web开发的必备工具了。

相关推荐

    rmagick-2.3.0-x86-mswin32.gem

    `rmagick-2.3.0-x86-mswin32.gem` ...总的来说,`rmagick-2.3.0-x86-mswin32.gem` 是一个强大的工具,它扩展了Ruby的图像处理能力,使得开发者可以方便地创建各种图像应用,包括但不限于验证码生成、图像编辑和转换等。

    rmagick-2.16.0.gem

    安装redmine-3.2.3 ruby on rails 下的插件 rmagick 2.16.0 gem

    rmagick-2.10.0.gem

    rails 插件rmagick 2.10.0 gem

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar 包含 rmagick-2.13.2.gem ImageMagick-6.5.6-8-Q8-windows-dll.exe RMagick-2.12.0.tar.gz rmagick-2.12.0-x86-mswin32.gem

    rmagick:ImageMagick的Ruby绑定

    马吉克目录介绍RMagick是Ruby编程语言和ImageMagick图像处理库之间的接口。先决条件最新版本的RMagick需要具备这些先决条件。 操作系统Linux * BSD 苹果系统视窗其他* nix类系统Ruby2.3版或更高版本。 您可以从获得...

    hornetseye-rmagick:WaSP眼的 RMagick 集成

    hornetseye-rmagick 作者: Jan Wedekind版权所有: 2010许可证: GPL 概要 这个 Ruby 扩展实现了必要的转换,以保存和加载存储在 {Hornetseye::MultiArray} 中的图像。 安装 hornetseye-rmagick使用RMagick Ruby 扩展...

    rucaptcha:用于Rails应用程序的Captcha gem。 没有依赖关系。 没有ImageMagick,没有RMagick

    RuCaptcha 这是Rails应用程序的Captcha宝石,它通过C代码生成验证码图像。 注意:根据Ruby China的使用,验证码看起来被OCR解析的可能性低于5%... 没有RMagick; 用于Rails应用; 简单,易用; 高性能。 用法 将

    rmagick-2.13.1-x86-mingw32.gem

    redmine的一个包文件,可以用来导出为pdf,图像的功能

    从图像 生成 Bootstrap配色方案的 Rails 应用程序_css_ruby_html_代码_下载

    2. **图像处理**:应用可能使用了某种图像处理库,如`mini_magick`或`rmagick`,来分析上传图像的颜色,并从中提取主要颜色。 3. **颜色理论**:为了生成配色方案,开发者需要理解色彩理论,包括色相、饱和度和亮度...

    ruby图片处理工具

    `README.html` 文件通常包含了项目的基本介绍、安装指南、使用方法以及可能的已知问题等信息。对于 Rmagick 或 ImageMagick,这个文件将帮助用户了解如何正确安装和使用这些工具。 在实际使用中,Ruby 开发者首先...

    minimagick:RMagick的迷你替代品

    在我的本地计算机上,这不是问题,但是在我的托管服务器上,Ruby应用由于其100MB内存限制而崩溃。 解决方案! 使用MiniMagick,ruby进程的内存仍然很小(它生成了ImageMagick的命令行程序mogrify,该程序也占用了...

    Ruby-Ruby绑定ImageMagick

    Ruby是一种强大的动态编程语言,广泛应用于Web开发、脚本编写以及各种高级编程任务。...无论是Web应用中的图像上传处理,还是独立的图像处理脚本,RMagick都能满足需求,帮助你实现高效且高质量的图像处理功能。

    安装Ruby On Rails所需的部分资源

    Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。在安装Ruby on Rails时,通常需要一些关键的依赖和库,包括...

    具有低内存需求的快速图像处理库。_C_C++_下载.zip

    6. **与其他库的整合**:libvips可以与其它图像处理库(如OpenCV、ImageMagick)和编程框架(如Python的Pillow,Ruby的RMagick)无缝集成,增强了其在各种项目中的适应性。 7. **应用领域**:由于其高效的特性,...

    DoubleTake:Ruby宝石,用于视觉回归测试等

    快速入门指南 比较 为什么? CSS允许轻松地进行更改,但是很难确保所做的更改不会在项目的其他地方产生意外的后果。 如何? DoubleTake是一个命令行工具,使用YAML文件进行配置。 生成和编辑配置文件很容易。 ...

    print_hub:用于管理和打印文档的Web应用程序

    用于管理和打印文档的Web应用程序 安装指南。 以前运行: sudo apt-get install cups-bsd#Extra Cups命令行实用程序 sudo apt-get install libcups2-dev#Cups gem依赖(Ubuntu 12.04) sudo apt-get install ...

    ChunkyGuide:jackjt8 的 Chunky https 指南

    jackjt8 的矮胖指南 Chunky 是一种 Minecraft 渲染工具,它使用路径跟踪来创建 Minecraft 世界的逼真图像。 关于我 到目前为止,我已经使用 Chunky 超过 6 ... 使用gem install rmagick --platform=ruby -- --with-opt

    drosterize:使用Ruby和RMagick自复制图像

    雄oster Drosterize是将图像处理代码从Wolfram语言转换为Ruby的另一项实验。 以前是 ,看看。 当前实验的来源是( )的一篇名为“ 。 Drosterize会执行“ ”(自我,包括递归图像)。 这里有一些例子,后面是...

    xkcdize:Ruby 和 RMagick 中类似 XKCD 的图片失真

    这是一个用于Ruby和图像的小型实验脚本。 它只需要一些图像并转换成“ -like”(手写效果)。 前: 后: 剧本背后的故事很简单。 我刚刚阅读了 Wolfram 人 Vitaliy Kaurov 的一篇出色的博客,他解释说,如何在 ...

    Wrox.Professional.Ruby.on.Rails.Feb.2008

    - 图像处理库(如ImageMagick、RMagick)的使用 - 视频和音频的嵌入与播放 - 与云存储服务(如Amazon S3)的集成 **第12章:部署您的应用程序** - **主要内容**:详细说明如何将Rails应用部署到生产环境中。 - ...

Global site tag (gtag.js) - Google Analytics