我的服务有网页版和 iPhone 版。在 iPhone 上,我们通过在上传时裁剪来确保用户提交方形版本。我们也允许在网站上上传,但我们没有这样的功能。
因此,我想将任何上传的图像缩放到适合 612 * 612 的区域。实现这一目标的最佳方法是什么?
我正在使用 Ruby / mini_magick
我的服务有网页版和 iPhone 版。在 iPhone 上,我们通过在上传时裁剪来确保用户提交方形版本。我们也允许在网站上上传,但我们没有这样的功能。
因此,我想将任何上传的图像缩放到适合 612 * 612 的区域。实现这一目标的最佳方法是什么?
我正在使用 Ruby / mini_magick
您只需使用resize
MiniMagick 中的方法,Github 页面上有一个示例:
大概您将图像作为一堆字节存储在内存中,因此如下所示:
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让您的网络用户裁剪他们上传的图像以适合正方形。