使用mini_magick调整图像大小

时间:2011-11-05 15:42:16

标签: ruby-on-rails ruby imagemagick minimagick

我的服务同时包含网络版和iPhone版。在iPhone上,我们确保用户通过在上传时进行裁剪来提交方形版本。我们也允许在网站上传,但我们没有这样的功能。

因此,我想将任何上传的图像缩放到适合612 * 612区域。什么是实现这一目标的最佳方式?

我正在使用Ruby / mini_magick

1 个答案:

答案 0 :(得分:9)

您只需使用MiniMagick中的resize方法,Github页面上有一个示例:

  

https://github.com/minimagick/minimagick

据推测,你将图像作为一堆字节存储在内存中,所以像这样:

image = MiniMagick::Image.read(your_image_bytes)
image.resize('612x612')
scaled_image_bytes = image.to_blob
# Or image.write(filename)

MiniMagick使用标准的ImageMagick几何字符串进行尺寸调整,并使用fine manual WxH几何图形

  

给定的高度和宽度的最大值,保留纵横比。

所以使用'612x612'会缩放图像以适应612px的正方形,同时保留纵横比。

您还可以使用Jcrop允许您的网络用户裁剪上传的图片以适合广场。