0

有没有办法让 RMagick 像这样调整图像的大小:

  • 调整大小,使宽度和高度都小于 200 像素,但保持纵横比
  • 如果宽度 > 200 且宽度 > 高度,则调整大小以使宽度 = 200 并相应地调整高度
  • 如果高度 > 200 且高度 > 宽度,则调整大小以使高度 = 200 并相应调整宽度

编辑:顺便说一句,我正在寻找实现这一点的这种语法方式,而不是基于 API 的操作。

4

1 回答 1

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)
于 2013-02-11T16:27:51.813 回答