RMagick

[url=http://doruby.kbmj.com/nakahira_on_rails/20071227/RMagick_]http://doruby.kbmj.com/nakahira_on_rails/20071227/RMagick_[/url]

はじめまして、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.16.0.gem 安装redmine-3.2.3 ruby on rails 下的插件 rmagick 2.16.0 gem 立即下载

相关推荐

rmagick:ImageMagick的Ruby绑定

马吉克 目录 介绍 RMagick是Ruby编程语言和ImageMagick图像处理库之间的接口。 先决条件 最新版本的RMagick需要具备这些先决条件。 操作系统 Linux * BSD 苹果系统 视窗 其他* nix类系统 Ruby 2.3版或更高版本。 您可以从获得Ruby。 Ruby必须能够构建C扩展(例如MRI,Rubinius,而不是JRuby) 图像魔术 版本6.7.7或更高版本(6.xx)。 版本7.0.8或更高版本(7.xx)。 需要RMagick 4.1.0或更高版本。 您可以从获取ImageMagick。 Linux 的Ubuntu 在Ubuntu上,

安装RMagick遇到的问题及解决办法

 今天为两台机器192.168.100 .231 CentOS release 3.6 (Final)192.168.100.234   CentOS release 4.3 (Final)安装Rmagick 后台发现 要安装Rmagick必须 先安装 ImageMagic或者GraphMagic,通过convert -version查看,幸

pwlazy的专栏 4799

AutoCAD2014与ObjectARX开发环境搭建实战指南

本文提供了一份详细的AutoCAD2014与ObjectARX开发环境搭建实战指南。内容涵盖从AutoCAD2014、Visual Studio 2010及ObjectARX 2014 SDK的版本匹配与环境准备,到Wizard安装、编码问题解决、Visual Studio配置,并最终通过一个完整的绘图命令开发示例,手把手引导开发者创建并加载第一个可运行的ObjectARX插件,为后续深入开发奠定坚实基础。

weixin_28475533的博客 286

如何让QLVideo成为你的Mac视频预览神器:新手完全指南

你是否曾经在Mac上遇到这样的烦恼?下载了一个MKV格式的电影,在Finder中却只看到一个普通的文件图标,无法预览内容;或者想快速查看视频时长和分辨率,却需要专门打开播放器?QLVideo就是为这些问题而生的终极解决方案。这款开源工具专门为macOS设计,通过扩展系统的原生视频处理能力,让你的Finder能够显示几乎所有视频格式的缩略图、支持QuickLook快速预览,并增强Spotlight搜

gitblog_00005的博客 476

【UE4】Hierarchical Instanced Static Mesh——一种速度优于Spawn的实例化物体组件

最近需要在场景中实例出很多个相同的模型,位置也很有规律,并且要对它的位置信息进行更新。 但是一个个拖进去实在太麻烦,就发现了Spawn Actor这个蓝图方法,可以实例一个蓝图类在场景中。 但是由于数量较大,实例化的速度太慢,这时发现了一个神奇的组件——Hierarchical Instanced Static Mesh。 新建一个蓝图类,添加该组件,在细节里添加你要实例化的模型对象。 ...

ColorGalaxy 1万+

SAP EWM 内向交货流程(一)

本文介绍了SAP EWM系统中内向交货单的基本配置与操作流程。

huqinghai的专栏 2398

5分钟部署Qwen3.8-Flash-Next-NVFP4:Blackwell B200/B300上vLLM快速上手指南

Qwen3.8-Flash-Next-NVFP4 是 NVIDIA 用 Model Optimizer 对阿里 125B MoE 多模态大模型 Qwen3.8-Flash-Next 做 NVFP4 混合精度量化的推理检查点:支持文本、图片、视频输入,原生 262K 上下文,基于 vLLM 在 Blackwell B200/B300 上即可一键部署。本文带你 5 分钟完成部署、测试与进阶加速。 #

gitblog_00481的博客 372

多维时空数据介绍(4)多维栅格数据构建

上图中包含了经度、纬度和时间三个维度,其变量为经度、纬度、时间以及降雨量,对应的变量单位为东经多少度、北纬多少度、阳历1895-1-1日开始多少天以及每年降雨多少毫升,其中经度数值4个、纬度数值3个、时间数值2个都是一维的数据,而降雨量是一个包含经度、纬度、时间的三维数组,数值有4*3*2=24个。在GeoScene 中NetCDF数据可以用做多种多维时空数据的数据源,进行创建、可视化和分析,它可以是多维栅格数据、时空立方体,还可以是体元图层,区别在于其所要表示的内容和目的。变量又分为坐标变量和属性变量。

你好,我是小张同学! 1286

eLabFTW是什么?科研实验室如何用5分钟搭建现代化电子实验记录本

在科研实验室中,数据管理常常是令人头疼的难题——实验记录分散、数据难以追溯、团队协作效率低下。eLabFTW作为最受欢迎的开源电子实验记录本,正是为解决这些问题而生。这个基于浏览器的实验室管理系统不仅免费、现代化,还提供了强大的安全性和可扩展性,让科研数据管理变得前所未有的简单高效。 ## 🔍 科研数据管理的痛点与解决方案 传统实验室管理面临三大挑战:实验数据分散在个人电脑和纸质笔记本中,难

gitblog_00098的博客 403

别再让 AI 瞎写 SAP 代码了!这套 Claude Code Skill 的验证机制才是关键

本文深入解析了专为SAP CAP开发设计的AI辅助工具sap-cap-capire的技术架构。该工具采用四层设计:协议层集成MCP和LSP实现实时模型访问与语法检查;智能层通过4个专业化Agent(数据建模、服务开发等)分工协作;验证层确保代码质量;知识层存储文档模板。这种工程化设计解决了通用AI在CAP开发中面临的上下文不足、专业性缺失和代码质量保证等核心问题,通过本地化服务和实时反馈机制显著提升了开发效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 881

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5273

Rmagick安装

windows7rails3.1下Rmagick安装(brown) 2011-11-29 09:54 308人阅读 评论(0) 收藏 举报 使用RailsInstaller升级到Ruby1.9.2并使用Rails3.1后发现无法安装rmagick. 主要原因有两个: 1. 原来安装的ImagickMagick没有包含developmentheaders,也就是在ImgickMa

xzyxuanyuan的专栏 4448

CLASSB类移植(满足IEC 60730-1和60355-1标准)

针对软件认证需要满足IEC 60730-1和60335-1标准,ST公司专门提供的软件扩展包X-CUBE-CLASSB,它包含自测库和文档,支持多种STM32系列芯片,通过预集成测试库和标准化流程,帮助开发者快速满足国际安全标准,适用于家电、工业控制等高可靠性场景。ClassB软件包程序检测内容分为两个主要部分:启动时的自检和运行时的周期自检,MCU在上电的时候会进行复位启动,在启动完成以后会进行运行自检。

m0_61973119的博客 1401

WINXP 下装 RMagick 过程

<br />WINXP 下装 RMagick 过程<br /><br /> 在UBUNTU上装过 RMAGICK,也费了半天劲。主要各种库费了了不少事。<br /> 本想应该在WINXP 下应该简单些,也遇到一些问题。<br /> 下载 RMagick-2.9.0-ImageMagick-6.4.8-6-Q8 这个包。<br /> 解压后先 ImageMagick installer 那个exe<br /> 先装的 ImageMagick。<br /> 再 gem install rmagick

candy_whut的专栏 2616

【科研建模】Pycaret自动机器学习框架使用流程及多分类项目实战案例详解

对pycaret的使用流程进行梳理,并详细介绍了基于多分类预测的案例

lys_828的博客 780

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Rails上使用RMagick经验之谈

我的开发平台:winXP系统 + sp2, ruby 1.8.5,Rails 1.2.3,mysql5.0.27, RMagick-1.14.1_IM-6.3.0-7-Q8.当然,以上的开发软件都是windows版的。 RMagick的使用经验 这里需要说明的是:我并不打算做一个RMagick的使用大全,而只是结合我的使用经验对一些不太容易注意到的问题进行总结。 RMagick的API可

zy13的专栏 954

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

RMagick对图片操作

声明:本人不亲日,仅参考代码 指定縦横サイズに収めるリサイズ 次に,若干特殊なリサイズといいますか,実際にウェブサイトを作る上で使われやすい,縦横サイズを指定してその範囲に収まる画像を作る方法について説明します。 単純に縦横指定でリサイズする 手始めにresizeメソッドにそのまま指定サイズを放り込んだ場合は,以下のようになります。 image = Magick::Image...

chenbinGood的专栏 370

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

RMagick 安装与使用指南

RMagick 安装与使用指南 项目介绍 RMagick 是一个 Ruby 接口到 ImageMagick 和 GraphicsMagick 库。它允许您在 Ruby 程序中创建、读取、写入、修改图像。ImageMagick 和 GraphicsMagick 能够处理、转换、显示各种图像格式,使得 RMagick 成为了进行图像处理的强大工具。 特点: 广泛支持:支持超过 200 种不同的图像...

gitblog_01105的博客 867

RMagick实战案例:5个示例带你掌握Ruby图片处理精髓

想要在Ruby项目中轻松实现专业的图片处理功能吗?RMagick作为Ruby与ImageMagick图像处理库之间的桥梁,为开发者提供了强大而简单的图像处理能力。本文将带你通过5个实用的RMagick实战案例,快速掌握Ruby图片处理的核心技巧,从基础操作到高级特效,让你在项目中轻松应对各种图像处理需求。🚀 ## 一、基础图片加载与保存:入门第一步 使用RMagick处理图片的第一步就是加载

gitblog_00351的博客 902

Dogecoin 仓库中的 Bitcoin Core 0.9.4 发布说明:OpenSSL 严格 DER 签名与共识分叉修复的历史回眸

本文围绕当前仓库 [doc/release-notes/bitcoin/release-notes-0.9.4.md](https://link.gitcode.com/i/403d1d8323b9cc6a2f23f4c5bbab885f) 展开,解读 Bitcoin Core 0.9.4 这一历史维护版本的核心内容:它因 OpenSSL 1.0.0p/1.0.1k 的严格 DER 签名校验行为变

gitblog_00876的博客 682

windows下RMagick的安装

安装RMagick,须先安装ImageMagick。 安装 ImageMagick,要记得在安装的时候勾选,安装头文件。 http://www.imagemagick.org/script/binary-releases.php/#windows 需要注意的是:不要将ImageMagick安装到有空格的默认目录下,在 C:/Program Files/… 下面,是不行的。要安装到一个简单

上食埃土,下饮黄泉 1202

Mac OS安装gem rmagick

首先,必须安装ImageMagic

rocLv的专栏 3082

安装RMagick

download from http://rubygems.org [simon@localhost]#ls|grep gem image_science-1.2.1.gem rmagick-2.13.0.gem RubyInline-3.8.0.gem ZenTest-4.4.2.gem $unzip  FreeImage3130.zip $make $sudo make ins...

iteye_6945的博客 255

如何在5分钟内安装RMagick?跨平台安装教程与常见问题解决

RMagick是Ruby与ImageMagick图像处理库之间的桥梁接口,为开发者提供了强大的图像处理能力。如果你需要在Ruby项目中处理图像、转换格式或应用特效,RMagick是必不可少的选择。本教程将指导你在5分钟内完成RMagick的跨平台安装,并解决常见问题。 ## 📋 安装前的准备工作 在安装RMagick之前,你需要确保系统满足以下要求: ### 系统要求 - **操作系统**

gitblog_00983的博客 657

(转)在windows上安装RMagick

本人试过很多次,只有这篇文章介绍的才成功了 原文地址:http://www.udpwork.com/item/7805 Ruby on Rails里面有很多东西的安装和配置是非常麻烦的。其中RMagick就是其中赫赫有名的一个难装的包。RMagick是一个图像处理的报,主要是用来做各种图像的处理。 RMagick分为两个部分,一部分是ImageMagick,这是一个远胜于言编译的

记录此生弱冠年华 1221

在mac上安装RMagick

转载http://yuweijun.blogspot.com/2008/07/macrmagick.html   从http://www.imagemagick.org/script/binary-releases.php上下载imagemagick,安装到了/Users/yu/Programs/ImageMagick下,并在~/.profile里设置好以下二个环境变量,在安装过程中extconf...

aideehorn 303
上一篇: acts_as_paranoidプラグインをインストールします。
下一篇: exception_notification
superweb
博客等级 码龄20年 0粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值