2016-10-20 25 views
0

我有四個圖像,a.png,b.png,c.png,d.png。 現在我想編寫圖像a,b和c,然後着色它們,然後用d.png編寫結果。我想用一個命令來做到這一點:Imagemagick結合了幾個命令

magick a.png b.png c.png -compose -channel R -evaluate multiply 0.9 -channel G -evaluate multiply 0.9 -channel B -evaluate multiply 0.9 d.png -compose result.png

但是,這並不爲我工作,以獲得正確的輸出我必須通過兩個步驟是:

magick a.png b.png c.png -channel R -evaluate multiply 0.9 -channel G -evaluate multiply 0.9 -channel B -evaluate multiply 0.9 step.png

magick step.png d.png -compose result.png

是否有任何解決方案來結合幾個命令?

回答

0

不太知道你正在嘗試做的,但希望下面的想法將有助於...

首先,你必須

... -channel R -evaluate multiply 0.9 -channel G -evaluate multiply 0.9 -channel B -evaluate multiply 0.9 

當你還不如用:

... channel RGB -evaluate multiply 0.9 

其次,在選擇特定頻道後(與-channel),您應該回到處理所有頻道(使用+channel)之前最終-composite。所以,我認爲你可以做得更好:

magick a.png b.png c.png -composite -channel RGB -evaluate multiply 0.9 +channel d.png -composite result.png 
+0

我會嘗試這一點,但我對RGB有不同的值,所以我必須使用-channel R,-channel G ...我希望它可以工作 – Adrian

0

實現該目的的一個選擇是通過組合多個圖像(作爲圖層):http://cloudinary.com/blog/transform_your_image_overlays_with_on_the_fly_manipulation其中可以操作每個圖層,例如,着色:http://cloudinary.com/cookbook/color_a_picture

完成此操作的URL與單行magick命令的複雜性相當,並且具有諸多優點,例如優化傳遞。您可以使用模擬賬戶進行操作,也可以使用免費的Cloudinary賬戶。

希望有所幫助。

+0

這是一個很好的選擇,但不是我的問題的答案,我必須使用imagemagick。但Thx – Adrian