3

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

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

我正在使用 Ruby / mini_magick

4

1 回答 1

11

您只需使用resizeMiniMagick 中的方法,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 几何字符串进行尺寸调整,并从精美的手册中使用WxH几何:

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

因此使用'612x612'将缩放图像以适应 612px 正方形,同时保持纵横比。

您还可以使用Jcrop让您的网络用户裁剪他们上传的图像以适合正方形。

于 2011-11-06T00:53:57.470 回答