RMagick:缩放和调整缩略图的大小

Fu8*_*u86 2 image rmagick

我想调整图像大小/缩放图像.原件尺寸与300x200或512x600不同.我想将图像调整为100x100,但不要从图像或变化率中裁剪任何东西.理想情况下,图像首先将长边缩放到100(纵横比),然后用白色填充较小的边缘.

 .---------.
 |- - - - -|
 |  IMAGE  |
 |- - - - -|
 '---------'
Run Code Online (Sandbox Code Playgroud)

我不使用Paperclip或Rails,只使用RMagick.

Fu8*_*u86 6

我已经完成了将已调整大小的图像与新的100x100图像合并.这肯定不是最好的方式,但它的工作原理:

img = Magick::Image.read("file.png").first
target = Magick::Image.new(100, 100) do
  self.background_color = 'white'
end
img.resize_to_fit!(100, 100)
target.composite(img, Magick::CenterGravity, Magick::CopyCompositeOp).write("file-small.png)
Run Code Online (Sandbox Code Playgroud)