0

RMagick で画像のサイズを次のように変更する方法はありますか。

  • 幅と高さの両方が、たとえば 200px より小さくなるようにサイズ変更しますが、アスペクト比は維持します
  • 幅 > 200 かつ幅 > 高さの場合、幅 = 200 になるようにサイズを変更し、それに応じて高さを変更します
  • 高さ > 200 かつ高さ > 幅の場合、高さ = 200 になるようにサイズを変更し、それに応じて幅のサイズを変更します

EDIT:ちなみに、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より大きい場合は2000にリサイズしたい

image = resize_to_limit(image,2000,2000)
于 2013-02-11T16:27:51.813 に答える