如何在 ImageMagick 中對影像套用漸層?

如何在 ImageMagick 中對影像套用漸層?

我有一張圖像,我想讓它在頂部變亮,在底部褪色而沒有效果。因此,如果影像一開始是純綠色,那麼最終它看起來會像是從淺綠色到綠色的漸變。

我想我可以做這樣的事情(使用漸層作為蒙版在圖像頂部合成一個白色塊):

convert a.jpg \( +clone -fill white \) \
      \( +clone gradient:white-black  \) \
      -composite out.jpg

或者這個(使用漸層為透明的漸層「著色」圖像)

convert a.jpg \( +clone 'gradient:black-rgba(0,0,0,0)' \) \
        -colorize 50% out.jpg

……但兩者都不起作用。

答案1

convert a.jpg \( +clone -fx 'i/w' \) -compose multiply -composite out.jpg

這將獲取圖像的副本並應用-fx操作員。論壇i/w遍歷i= 0 到寬度的每個像素w,使得左側 ( i == 0) 的輸出為零(黑色),右側 ( i == w) 的輸出為 1(白色)。

然後用 進行合成multiply,使其從左側的純黑色淡化為最右側邊緣的純原始顏色。

您也可以執行以下操作:

convert a.jpg \( +clone \
  -fx 'i/w < 0.2 ? 0.2 : (i/w -0.2)*4 + 0.2' \
  \) -compose multiply -composite output.jpg

這將使影像左側 20% 的區域變暗 80%,然後從左側 40% 起沒有任何效果,在 20% 到 40% 之間它會線性淡出。

相關內容