2012-05-24 44 views
0

有沒有一種方法,使RMagick調整這樣一個形象:RMagick智能調整

  • 調整大小,使寬度和高度都小於,比如說,200像素,但保持寬高比
  • 如果寬度> 200和寬度>高度,調整大小,使得寬度= 200和調整高度相應
  • 如果高度> 200和高度>寬度,調整大小,使得高度= 200和調整寬度相應

EDIT:順便說一句,我正在尋找this實現此目的的句法方式,而不是基於API的操作。

回答

0

這種方法應該工作,圖像是Rmagick圖像,寬度和高度爲整數(圖像的最大大小)

def resize_to_limit(image,width, height) 
    geometry = Magick::Geometry.new(width, height, 0, 0, Magick::GreaterGeometry) 
    image.change_geometry!(geometry) do |new_width, new_height, img| 
    img.resize!(new_width, new_height) 
    end 
    image 
end 

離。我想調整圖像的大小,如果它的大於2000,保留長寬比

image = resize_to_limit(image,2000,2000)