【问题标题】:How to crop & fill with Paperclip (or RMagick)?如何裁剪和填充回形针(或 RMagick)?
【发布时间】:2010-11-13 02:17:39
【问题描述】:

我上传了一张照片,它是一个矩形。如何将其调整大小并填充为正方形?

我的意思是当照片水平放置时,它的上方和下方应该有两个白色区域(用于保持正方形的形状),当它是垂直放置时,它应该在照片的两侧有两个白色区域。

我用PHP的时候,一个用过这个http://www.verot.net/php_class_upload_samples.htm

看看

100x150,保持比例,上下填充

例子

我正在使用带有 RoR 的回形针。最好的方法是什么?

【问题讨论】:

    标签: ruby-on-rails image paperclip resize


    【解决方案1】:

    这是我在带有回形针的 rails 3 应用程序上使用的。我使用以下 ImageMagick 选项使其居中:背景、构图、重力和范围。我正在使用 mini_magick 处理器。

    has_attached_file :image,
      :styles => { :large => ["855x570>", :jpg], :medium => ["432x288>", :jpg], :small => ["276x184>", :jpg], :tiny => ["195x130>", :jpg] },
      :processor => "mini_magick",
      :convert_options => {
        :medium => "-background white -compose Copy -gravity center -extent 432x288",
        :small => "-background white -compose Copy -gravity center -extent 276x184",
        :tiny => "-background white -compose Copy -gravity center -extent 195x130"
      }
    

    【讨论】:

    • 写得很好的例子。这适用于带有 Paperclip 3.5.4 的 Rails 4。仅供参考 Imagemagick 默认背景颜色为白色,因此无需指定该选项。 medium: '-compose Copy -gravity center -extent 432x288'
    • 请注意:确保样式定义中没有尾随 #。所以,:large = ["855x570#", :jpg] 将不起作用,因为855x570 之后的# 告诉回形针裁剪图像并将其居中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    相关资源
    最近更新 更多