環境: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 閱讀(480)
評論(0) 編輯 收藏 所屬分類:
Rails