【发布时间】:2011-11-05 15:42:16
【问题描述】:
我的服务有网页版和 iPhone 版。在 iPhone 上,我们通过在上传时裁剪来确保用户提交方形版本。我们也允许在网站上上传,但我们没有这样的功能。
因此,我想将任何上传的图像缩放到适合 612 * 612 的区域。实现这一目标的最佳方法是什么?
我正在使用 Ruby / mini_magick
【问题讨论】:
标签: ruby-on-rails ruby imagemagick minimagick
我的服务有网页版和 iPhone 版。在 iPhone 上,我们通过在上传时裁剪来确保用户提交方形版本。我们也允许在网站上上传,但我们没有这样的功能。
因此,我想将任何上传的图像缩放到适合 612 * 612 的区域。实现这一目标的最佳方法是什么?
我正在使用 Ruby / mini_magick
【问题讨论】:
标签: ruby-on-rails ruby imagemagick minimagick
您只需使用 MiniMagick 中的 resize 方法,Github 页面上有一个示例:
大概你在内存中有一堆字节的图像,所以是这样的:
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' 将缩放图像以适应 612 像素的正方形,同时保持纵横比。
您也可以使用Jcrop 让您的网络用户裁剪他们上传的图片以适合正方形。
【讨论】: