您当前的位置: 首页 > 

Rails中rmagick库的简单用法

发布时间:2017-02-24 10:58:59 ,浏览量:0

首先rmagick是一个图形处理库,需要ImageMagick的支持.

在安装了imagemagick库之后,你可以直接用如下命令查看其所支持的图片格式:

convert -version #输出如下: Version: ImageMagick 6.9.7-9 Q16 x86_64 2017-02-18 http://www.imagemagick.org Copyright: © 1999-2017 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: Cipher DPC Modules 
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

如果不支持png,你可能要单独安装libpng库.

rmagick的帮助文档在 : http://www.rubydoc.info/gems/rmagick/ 其github官站为 : https://github.com/rmagick/rmagick

不过可能是版本原因,有些方法和属性没有列出,你可以到google去查找.

rmagick可以打开一个图片然后处理:

Magick::Image.read(image_path).first

你可以缩放图片,加水印,反转,模糊,灰化,加边框,加阴影等等各种任性操作,请自行谷歌之…

你还可以直接从内存创建Image对象:

img_content = File.open(image_path).read Magick::Image.from_blob(img_content)

你还可以随时返回一个图片的字节数据:

img.to_blob

有时你事先还想判断一个文件是否为合法的图片,仅仅靠文件名后缀当然是不够的,这个世界套路够深,所以你必须检查文件实际内容.这个需要另外的gem:ruby-filemagic,对应你要安装libmagic库:

brew install libmagic

然后你可以检查是否为合法的图片文件:

if FileMagic.new(FileMagic::MAGIC_MIME).file(staff[:image].path).match(/image/) #合法图片 else #非法图片 end

PS:若你觉得rmagick太大太复杂,你也可以选择更为小巧的mini_magick库 ;)

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0544s