环境:ubuntu 8.1.0 + ruby1.8.7 + rails 2.1.0 + rmagick 2.9.2
最近在用ruby的rmagick库
http://www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit
改变图片的大小,使用了resize, resize_to_fill,resize_to_fit 原来api提供的方法,可以就是不成功,一直提示 undefined method resize_to_fit等方法找不到,网上有n多人遇到,可以我折腾了一个上午还是没搞定,最后准备另辟蹊径的,但是在这里发现了方法,另外一个函数处理的:
http://www.goodbyehelicopter.com/2007/07/25/rails-is-bailing-out-in-rmagick/#comment-1594
那个里面的图片看起来很想无锡的 灵山大佛
原来的那个demo里 AspectGeometry用的是 ! ,最后resize后的图片width:height总是4:3,不知道为什么,最后我把参数换成
Magick::AspectGeometry
就ok了
我的demo:
# RMagick Test
require 'rubygems'
require 'RMagick'
include Magick
image_to_alter = 'public/upload/52/1.jpg'
img = Image.read(image_to_alter)[0]
thumbnail_height = 100
thumbnail_width = 100
geometry_obj = Geometry.new(thumbnail_width, thumbnail_height, nil, nil, Magick::AspectGeometry)
chg_geom_img = img.change_geometry(geometry_obj) {|cols, rows, image| image.resize(cols, rows)}
chg_geom_img.write("public/upload/52/thumb1.jpg")
api:
http://www.simplesystems.org/RMagick/doc/struct.html#Geometry
posted on 2009-06-23 18:24
fl1429 阅读(472)
评论(0) 编辑 收藏 所属分类:
Rails