`

RMagick

阅读更多
http://doruby.kbmj.com/nakahira_on_rails/20071227/RMagick_

はじめまして、kbmjでruby on railsの開発をしている中平です。

今回私は、RMagickというrubyで画像処理を行うライブラリの使い方を説明いたします。




まず、RMagickについて。

RMagickとはその名のとおり、ImageMagickをrubyで扱えるようにしたものです。

ですのでRMagickを使う場合は、

ruby本体,ImageMagick,RMagickの3つが必要です。



今回はインストール方法は省きまして、インストール後の使い方とか機能について紹介します。

ImageMagickでできることはたいていRMagickでも出来ますので、rubyだと簡単にできることを知っていただければと・・・・


■rmagickの使い方

説明するよりも実際に試したほうがわかりやすいと思いますので、
rubyとrmagickを使って画像処理をするサンプルコードを記載します。

これを適当に保存して、画像を一枚用意していただき、実行すると

画像処理され保存されていきますので、試してみてください。

サンプルだと、画像名はhogehoge.jpgを使っています。

-------------------------------------

require "RMagick" #RMagickを使えるように
#hogehoge.jpg画像を別名で保存
img = Magick::ImageList.new("hogehoge.jpg")
img.write("orig.jpg")

#画像を反転し保存
img = Magick::ImageList.new("orig.jpg")
img_flop= img.flop #左右反転
img_flip= img.flip #上下反転
img_flop.write("flop.jpg")
img_flip.write("flip.jpg")

#2枚の画像をくっつける
#同じサイズの画像じゃないとおかしなことに・・・・
img_append = Magick::ImageList.new("orig.jpg","flop.jpg")
img_append = img_append.append(false) #trueだと上下、falseだと左右にくっつける
img_append.write("append.jpg")

#画像に文字を挿入
img_string = Magick::ImageList.new("orig.jpg")

md = Magick::Draw.new

md.annotate(img_string, 0, 0, 0, 0, "hogehoge") do

md.gravity = Magick::NorthGravity #表示位置
#NorthWestGravity ( 左上 )
#NorthGravity ( 上 )
#NorthEastGravity ( 右上 )
#WestGravity ( 左 )
#CenterGravity ( 真中 )
#EastGravity ( 右 )
#SouthWestGravity ( 左下 )
#SouthGravity ( 下 )
#SouthEastGravity ( 右下 )

md.pointsize = 30 #フォントサイズ

md.fill = "blue" #文字色

md.stroke = "yellow" #文字の縁取り色

end

img_string.write("string.jpg")

#波紋
img = Magick::ImageList.new("orig.jpg")
img_string=img_string.wave(amplitude=10.0, wavelength=100.0)
img_string.write("wave.jpg")

#画像をぼかす
img = Magick::ImageList.new("orig.jpg")

motion_blur=img.blur_image(radius=10.0, sigma=10.0)

motion_blur.write("blur.jpg")

#画像の回転
img = Magick::ImageList.new("orig.jpg")

#右に90度回転
rotate=img.rotate(90)
#左回りの場合は-90
#rotate=img.rotate(-90)
rotate.write("rotate.jpg")

#画像をねじる?
img = Magick::ImageList.new("orig.jpg")
swirl=img.swirl(360)
swirl.write('swirl.jpg')


#画像をねじる(gif動画)
img = Magick::ImageList.new("orig.jpg")

animation = Magick::ImageList.new
animation << img.first.copy
30.step(360,45) { |degrees| animation << img.swirl(degrees) }

animation.delay = 20
animation.iterations = 10000

animation.write('swirl.gif')

------


他にもいろいろ画像処理機能があり、紹介しきれないのですが、また

面白い画像処理機能があったら紹介しようと思います。
分享到:
评论

相关推荐

    rmagick-2.3.0-x86-mswin32.gem

    `rmagick-2.3.0-x86-mswin32.gem` 是一个针对Windows平台的Ruby库,主要用于图像处理和操作。这个库是RMagick的封装,它是一个Ruby接口,允许Ruby程序员充分利用ImageMagick和GraphicsMagick这两个强大的图像处理...

    rmagick-2.16.0.gem

    安装redmine-3.2.3 ruby on rails 下的插件 rmagick 2.16.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-2.10.0.gem

    rails 插件rmagick 2.10.0 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 扩展...

    rmagick-2.13.1-x86-mingw32.gem

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

    minimagick:RMagick的迷你替代品

    使用MiniMagick,ruby进程的内存仍然很小(它生成了ImageMagick的命令行程序mogrify,该程序也占用了一些内存,但是比RMagick小得多)。 请参阅正在 以下。 MiniMagick使您可以访问ImageMagick拥有的所有命令行...

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

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

    ruby图片处理工具

    在这个特定的场景中,我们关注的是一个针对 Windows 操作系统的 Ruby Gem 安装包,它包含了 Rmagick 和 ImageMagick 这两个关键组件。 **Rmagick** 是一个 Ruby 绑定库,它提供了与流行的图像处理库 ImageMagick ...

    Ruby-Ruby绑定ImageMagick

    RMagick的安装通常涉及到两个步骤:首先,你需要在系统上安装ImageMagick,然后通过Ruby的Gem包管理器安装RMagick gem。ImageMagick的安装可能需要根据你的操作系统进行不同的配置,确保所有依赖项都已安装。安装...

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

    - `RMagick-2.11.1.tar.gz` 和 `RMagick-2.11.1.tar.lzma`:这些是RMagick库的源代码压缩包,用于编译和安装。通常,如果你的系统上没有预编译的RMagick Gem,你需要下载源码,解压并编译以安装。 安装过程通常...

    Windows下安装Redmine教程

    6. **RMagick**: RMagick是Ruby绑定的ImageMagick库,用于处理图像,如上传的截图或logo。需要先安装ImageMagick,然后安装RMagick的gem。如果在这个过程中遇到问题,可能是因为系统缺少某些依赖,比如`libiconv`,...

    FusionCharts 中文文档

    同时,确保已安装了必要的依赖,比如PHP的GD库和GZip压缩处理程序,或者Ruby on Rails环境下的RMagick和zlib。 3. **配置XML的出口参数**: 在图表的XML定义中,设置`&lt;chart exportEnabled='1'&gt;`启用导出功能。`...

    ImageMagick-6.9.tar.gz

    PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify ...

    ImageMagick-6.9.10-12

    PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify ...

    Windows下Redmine_2.5.2安装和配置

    4. `RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip`:RMagick gem,用于图像处理,Redmine中的问题可以附带图片。 5. `xampp-win32-1.8.3-0-VC11-installer.exe`:XAMPP,一个免费的Web服务器套件,包括Apache、MySQL...

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

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

Global site tag (gtag.js) - Google Analytics