CarrierWave resize_and_pad方法总是使用白色

时间:2013-07-23 01:20:26

标签: ruby-on-rails ruby ruby-on-rails-3 imagemagick carrierwave

我已经在这一段时间里摸不着头脑了。我有一个上传到AWS的屏幕截图上传器类。问题在于resize_and_pad,因为图像被正确调整大小并填充,但无论我输入的是什么Hexcode,背景总是用白色填充。

如何将填充变为黑色而不是白色?

class ScreenshotUploader < CarrierWave::Uploader::Base
  require 'carrierwave/processing/rmagick'
    include CarrierWave::RMagick
    process resize_and_pad: [200, 100, "#000000"]
  end
end

2 个答案:

答案 0 :(得分:2)

resize_and_pad接受4个参数,你缺少一个参数:gravity。

  

处理resize_and_pad:[200,100,“#000000”,Magick :: CenterGravity]

应该这样做。

以下是官方文档:link

答案 1 :(得分:1)

我不得不切换到 Mini_Magick 库而不是Rmagick,一切都按预期工作。

require 'carrierwave/processing/mini_magick'
class ScreenshotUploader < CarrierWave::Uploader::Base
   include CarrierWave::MiniMagick
   process resize_and_pad: [200, 100, "#000", "Center"]
end