我正在复活already asked的问题,但没有真正的答案。
我想自动为使用CarrierWave上传的图像添加简单的阴影。使用RMagick或MiniMagick进行图像处理对我来说无关紧要。
输入文件类型应该是CarrierWave'白名单'默认值 - jpg,jpeg,png和gif。保存的文件类型应为png(我认为必然)。
由于
答案 0 :(得分:2)
好的,明白了。也许别人会觉得这很有用。
在我的CarrierWave上传器中,相关位:
include CarrierWave::RMagick
process :shadow
def shadow
manipulate! do |img|
layers = Magick::ImageList.new
image = Magick::Image.read(img.filename).first
shadow = image.clone
shadow = shadow.shadow(0, 0, 4.0, 0.5)
shadow = shadow.colorize(1.0, 1.0, 1.0, 'gray25')
layers << shadow << image
result = layers.optimize_layers(Magick::MergeLayer)
end
end
让RMagick工作的关键是使用optimize_layers方法。