min*_*eow 3 ruby ruby-on-rails imagemagick minimagick
我的服务有网络版和iPhone版.在iPhone上,我们确保用户通过在上传时进行裁剪来提交方形版本.我们也允许在网站上传,但我们没有这样的功能.
因此,我想将任何上传的图像缩放到适合612*612区域.实现这一目标的最佳方法是什么?
我正在使用Ruby/mini_magick
mu *_*ort 10
您只需使用resizeMiniMagick中的方法,Github页面上有一个示例:
大概你在内存中将图像作为一堆字节,所以像这样:
image = MiniMagick::Image.read(your_image_bytes)
image.resize('612x612')
scaled_image_bytes = image.to_blob
# Or image.write(filename)
Run Code Online (Sandbox Code Playgroud)
MiniMagick使用标准的ImageMagick几何字符串进行尺寸调整,并从精细的手册中使用WxH几何图形:
给定高度和宽度的最大值,保留纵横比.
所以使用'612x612'将缩放图像以适应612px的正方形,同时保留纵横比.
您还可以使用Jcrop允许您的网络用户裁剪他们上传的图片以适合广场.