2011-07-06 103 views
1

我正在復活的問題是already asked,但沒有真正的答案。使用CarrierWave下載陰影

我想爲使用CarrierWave上傳的圖像自動添加簡單的陰影。使用RMagick或MiniMagick進行圖像處理並不重要。

輸入文件類型應該是CarrierWave'白名單'的默認值 - jpg,jpeg,png和gif。保存的文件類型應該是png(必然,我認爲)。

謝謝

回答

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方法的關鍵。