ImageMagick中的hash(#)resize选项是什么?

时间:2014-01-31 01:44:17

标签: ruby-on-rails imagemagick paperclip

刚刚遇到此调整大小选项'300x300#',并想知道哈希选项的含义是什么?在官方的ImageMagick文档中,此选项似乎没有任何内容。

2 个答案:

答案 0 :(得分:9)

根据Paperclip's API documentation

  

Paperclip还添加了“#”选项(例如“50x50#”),它会调整图像的大小以最大限度地适应尺寸,然后裁掉其余部分(在中心加权)。

因此,如果您上传120x100图像并裁剪为“50x50#”,它会将图像调整为60x50,然后使用图像的质心作为锚点裁剪50x50(从而从左侧移除5px,从左侧移除5px右)。

答案 1 :(得分:1)

似乎至少有几个宝石通过添加#选项独立扩展了ImageMagick geometry strings的语法。 Paperclip就是这样做的,如Jacob's answer中所述。 Dragonfly also does this,赋予#与Paperclip相同的含义。它们列出了一个几何字符串,如'400x300#',意思是:

  

调整大小,必要时裁剪以保持纵横比(中心重力)