如何使用carrierwave和minimagick调整图像大小以使其忽略宽高比? 我想要一张[120,120]图片
(链接的答案维持宽高比,我想忽略宽高比!!)
答案 0 :(得分:5)
您需要在上传器中编写自定义处理方法:
class MyImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
version :square do
process my_resize: [120, 120]
end
def my_resize(width, height)
manipulate! do |img|
img.resize "#{width}x#{height}!"
img
end
end
end
resize
方法使用ImageMagick geometry syntax。所以在这种情况下,最后的感叹号告诉ImageMagick忽略宽高比。
答案 1 :(得分:1)
您可以使用resize_to_fill: [120, 120]
。这将忽略纵横比,因此得到的图像将是120x120
不要与保留宽高比的resize_to_fit: [120, 120]
混淆,因此产生的图像可能是120x90(取决于宽高比)。
希望这有帮助