Sha*_*nak 4 ruby rmagick carrierwave
我正在使用载波来上传图像.在上传时,我正在为图像创建缩略图,这是使用Rmagick方法完成的,resize_to_fill如下所示.
version :thumb do
process :resize_to_fill=> [150, 150]
end
Run Code Online (Sandbox Code Playgroud)
这是所有RMagick方法的输出载波wavewave 支持(我不想要):
:resize_to_fill => [150,150]这适用于较大的图像,但我的较小图像放大到150 x 150.
![:resize_to_fill => [150,150]](https://i.stack.imgur.com/R9oHc.png)
:resize_to_fit => [150,150]它再次调整大小,我希望它独自留下!
![:resize_to_fit => [150,150]](https://i.stack.imgur.com/0JHLn.png)
:resize_to_limit => [150,150]这个按原样保留,但不会裁剪较大的图像.它们的大小调整以保持纵横比.


这是我想要的结果以及我的小图像和大图像的外观.

这是怎么回事?我想要将较小的图像单独留下并仅将较大的图像裁剪为150 x 150.是否有其他方法或选项可以传递给resize_to_fill?
我通过修改解决了它:resize_to_fill在他们的代码来描述carrierwave方法在这里.
我刚刚使用相同的代码创建了一个新方法,并检查上传的图像是否更小.这是新方法:
def resize_to_fill_modfied(width, height, gravity=::Magick::CenterGravity)
manipulate! do |img|
img.crop_resized!(width, height, gravity) unless (img.columns <= width && img.rows <= height)
img = yield(img) if block_given?
img
end
end
Run Code Online (Sandbox Code Playgroud)
完全是我现在想要的.
| 归档时间: |
|
| 查看次数: |
2451 次 |
| 最近记录: |