我想使用rmagick仅使用宽度调整不同大小的图像。我需要保持示例640px宽度的比例。关键是,如果图像大于640px,则应将其缩小到640px。但是,如果图像小于640,它不应缩放到640,它应该什么都不做。
我认为这是change_geometry的目的,但不知何故对我不起作用。这是我的例子,但它总是将所有图像缩放到640px。
photo = Magick::Image.read(name).first
photoMedium = photo.change_geometry!("640") { |cols, rows, img|
img.resize!(cols, rows)
}
# ... write photoMedium
更新
嗯,我认为这就是change_geometry的目的。无论如何,我猜你总是可以检查列,如果它大于640调整大小,否则什么都不做。