【问题标题】:Resizing an image with mini_magick使用 mini_magick 调整图像大小
【发布时间】:2011-11-05 15:42:16
【问题描述】:

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

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

我正在使用 Ruby / mini_magick

【问题讨论】:

    标签: ruby-on-rails ruby imagemagick minimagick


    【解决方案1】:

    您只需使用 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' 将缩放图像以适应 612 像素的正方形,同时保持纵横比。

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

    【讨论】:

    • 另一个值得研究的宝石是 CarrierWave,它可以减轻使用 MiniMagick 的痛苦。有几个选项,包括 resize_and_pad,这将确保您拥有一个方形图像,但不会裁剪掉任何重要的东西。我们将它与 JCrop 结合使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2011-09-07
    • 2021-06-25
    • 2012-02-28
    • 2013-08-21
    • 2012-08-09
    相关资源
    最近更新 更多