如何在Rails(3)中使用Paperclip裁剪特定区域?

5

我在Rails(3)中使用了paperclip,并实现了简单的裁剪功能。例如,下面的代码可以对缩略图进行简单的裁剪:

has_attached_file :image, :styles => { :thumb => "90x90#" }, :default_style => :thumb

然而,我想知道如何裁剪一个图像的特定区域:假设您有一个起始于 x 和 y 坐标的裁剪宽度和高度。

您如何传递这样的复杂样式?

2个回答

14

在这里检查 {size}{offset} 的组合:

http://www.imagemagick.org/script/command-line-processing.php#geometry

以下是一个示例,其中数字代表宽度、高度、x坐标和y坐标:

90x90+40+30

Paperclip解析样式选项字符串,仅限于调整大小和裁剪。如果复杂的ImageMagick选项被传递为:convert_options ,则它们可以正常工作,因为它们会原封不动地添加到 convert 命令中。

<code><code>has_attached_file :image,
  :styles => { :thumb => "" },
  :convert_options => { :thumb => "-crop 90x90+40+30" },
  :default_style => :thumb
</code></code>

缩略图处理器源代码和wiki页面链接:


只是更改了大小,而没有对x和y进行采样。 - CafeHey
1
这是一种更加优雅的解决方案,比得到更多投票的那个更好。这就是正确的做法。 - CafeHey
4
居中裁剪: :thumb => "-gravity center -crop 90x90+0+0" - Arcolye

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接