在uploader中使用Minimagick对图片进行处理
include CarrierWave::MiniMagick
class InsurancePolicyUploader < BaseUploader
  process :watermark
  def store_dir
    "uploads/insurance_policy/#{model.id}"
  end
  def watermark
    manipulate! do |img|
      img.combine_options do |i|
        i.fill 'rgba(0,0,0,0.4)'
        #
        i.font "WenQuanYi-Zen-Hei"
        i.gravity "center"
        i.pointsize "150"
        i.draw "rotate 57 text 0,0 '仅限处理车辆事故及违章办理'"
      end
      img
    end
  end
end
根据代码进行总结:
- rgba可以快速的将颜色透明化
 - ImageMagick本身并不支持中文的处理
 convert -list font查看i.font支持的字体
存在问题:
- 水印字体大小是死的,不能做到自适应图片大小来添加水印
 
注:一个令我恍然大悟的网站:rubblewebs
