在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