4

我正在尝试使用 Ruby on Rails、CarrierWave 和 RMagick 进行固定的方形图像裁剪。

我尝试了以下两种方法都没有运气...

version :thumb do
  process :resize_to_fit => [200, 200]
end

version :thumb do
  process :resize_to_limit => [200, 200]
end

resize_to_limit 显然会调整图像大小以适应指定尺寸,同时保留原始纵横比。所以这是不对的,但 resize_to_fit 也不这样做。我在这里查看所有可用的实例方法。

我希望能够上传任何纵横比和尺寸的图片,它会以 200x200 的尺寸出现。

4

2 回答 2

17

终于拿到了这个!在尝试了一堆不同的自定义图像处理功能和手动裁剪之后,它实际上就像我希望的那样简单......

process :resize_to_fill => [400, 400]

从原始图像的直接中心将其裁剪为 400x400 的正方形。

于 2013-08-11T05:43:44.860 回答
1

gbdev,你的答案是绝对正确的。但要小心!如果要更改 process 参数,则必须停止/重新启动 rails 服务器。

例如,如果您目前有:

process :resize_to_fit => [400, 400]

并且您想更改为:

process :resize_to_fill => [400, 400]

然后你必须反弹你的服务器才能看到更改生效。

请注意,这仅适用于该参数散列的,而不适用于。因此,如果您只是将尺寸更改为例如从 800x800 到 400x400,则无需反弹服务器。

于 2014-11-11T09:23:32.373 回答