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

Min*_*ure 5 ruby-on-rails crop imagemagick paperclip ruby-on-rails-3

我在Rails中使用回形针(3)使用简单的裁剪,例如,打击代码简单地缩略图:

has_attached_file :image, :styles => { :thumb => "90x90#" }, :default_style => :thumb
Run Code Online (Sandbox Code Playgroud)

但是我想知道你如何裁剪一个非常特定的图像区域; 假设您有一个x和y坐标,然后是裁剪的宽度和高度.

你如何通过这样的复杂风格?

Hei*_*kki 14

检查{size}{offset}组合:

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

数字为宽度,高度,x,y的示例:

90x90+40+30
Run Code Online (Sandbox Code Playgroud)

Paperclip解析样式选项字符串,它仅限于调整大小和裁剪.复杂的ImageMagick选项如果被传递则可以工作:convert_options,因为它们被添加到convert命令而不进行修改.

has_attached_file :image,
  :styles => { :thumb => "" },
  :convert_options => { :thumb => "-crop 90x90+40+30" },
  :default_style => :thumb
Run Code Online (Sandbox Code Playgroud)

链接到缩略图处理器源代码和维基页面:

  • 从中心裁剪:`:thumb =>"-gravity center -crop 90x90 + 0 + 0"` (4认同)