2015-11-04 79 views
0

我想用rmagick只用宽度调整图像的大小。我需要保持示例640px宽度的比例。重点是,如果图像大于640像素,应该缩小到640像素。但是,如果图像小于640,它不应该缩放到640,它应该什么也不做。rmagick调整图像保持比例

我认为这是change_geometry的目的,但不知何故不适合我。这是我的例子,但它总是将所有图像缩放到640像素。

photo = Magick::Image.read(name).first   
photoMedium = photo.change_geometry!("640") { |cols, rows, img| 
    img.resize!(cols, rows) 
} 
# ... write photoMedium 

UPDATE:

嗯,我认为这是change_geometry的目的。无论如何,我想你总是可以检查列,如果它大于640的大小,否则什么都不做。

回答

-1

检查出resize_to_fit方法。

+0

resize_to_fit总是缩放到宽度。如果原始图像较小,则会将其缩放到大小。这不是要求。 – Rober