Já třeba použít lineární transparentní gradientu pouze spodní 5% obrazu. Mám nějakou představu, že nejdřív musím vytvořit masku v alfa kanálu. Ale nejsem si jistá, jak to zvládnu, která postihuje pouze dolní 5% obrazu. Zkoušel jsem různé metody, bud ne štěstí tak daleko. Přechod by měl začít v 5% výšky obrazu na 100%, alfa a 0% alfa na konci. Také obrazy mohou být non-obdélníkový PNG s průhledným pozadím. Já bych opravdu ocenil jakoukoliv pomoc. Děkuji. Zde je příklad toho, co potřebuji. Ale to může být buď obdélníkový nebo non-obdélníkový obraz.
1
Zde je, jak to udělat, že v ImageMagick 7 pokud máte existující alfa kanál ve vstupním nebo ne. To je mírně odlišná. V podstatě extrakt alfa kanál ze vstupního a vynásobte to s jedním, obsahující gradient. Pak dát nový jeden do původního obrazu nahrazení stávajícího alfa kanálu.
Vstup:
magick lena_circle.png \
-alpha set \
-set option:wd "%w" \
-set option:ht "%h" \
-set option:ht2 "%[fx:round(0.25*ht)]" \
-set option:ht3 "%[fx:ht-ht2]" \
\( -size "%[wd]x%[ht3]" xc:white \) \
\( -size "%[wd]x%[ht2]" gradient:white-black \) \
\( -clone 1,2 -append \) \
-delete 1,2 \
\( -clone 0 -alpha extract \) \
\( -clone 1,2 -compose multiply -composite \) \
-delete 1,2 \
-alpha off -compose copy_opacity -composite \
lena_circle_fade3.png
Výsledný Obrázek: