Imagemagick (convert) - szinek hatterszinne alakitasa

Fórumok

Udv!

 

Nem tudom mennyire lesz speciális, nem témába vágó, amit kérdezek, de remélem tud valaki segíteni.

 

Alapból azt szeretném csinálni, hogy egy adott képfile (png) egy bizonyos részén (mondjuk 50,50-től 100x200 méretben) szeretném a háttérképpontokat (tehát amiknek háttérszínük van) mondjuk fehérré alakítani, az eredeti fehér képontokat pedig háttérszínűvé.

 

Ezt alapból 3 lépésben oldanám meg:

 

1) fehér képpontokból pirosat csinálok

2) háttérképpontokból fehéret

3) piros képpontokból hátteret.

 

A png fájl csak háttérszínt és fehéret tartalmaz (bár valamennyi fuzz szükséges), és az első 2 lépés nagyjából meg is van:

 

#1 Fehere csereli pirosra
convert input.png -fuzz 10% -fill red -opaque white out1.png

 

#2 Háttérszín fehérre

convert out1.png -background white -alpha remove -alpha off out2.png

 

ám a harmadik lépéssel nem boldogulok. Erre lenne valakinek működő ötlete, hogy a piros képpontokat hogyan lehet háttérszínűvé tenni?

Hasonlókkal játszottam: 

convert out2.png -channel a -negate +channel -fill transparent -opaque red -colorize 100 out3.png
convert out2.png -fuzz 30% -transparent red out4.png
convert out2.png -fuzz 30% -fill none -draw "color 1x1 floodfill" out5.png

 

, de valahogy egyik sem működik.

 

Más scriptes megoldás is szóba jöhet, ami parancssorból futtatható.

 

 

 

Köszi a válaszokat.

Hozzászólások

Számomra nem világos, pontosan mit szeretnél. APNG esetén nincs olyan, hogy háttérszín, hanem egy tipikusan 24 bites kép van, 8 bites átlátszósági csatornával.

Jó lenne tudni, mennyire színes a kép, és az átlátszósági csatorna "bináris"-e, illetve hogy a fehér mindig fehér-e, vagy csak bemondtál egy színt, de igazából képenként bármi lehet. Esetleg mutathatnál példa képet.

:)

en sem ertettem ezt a hatteret. ha lennenek layerek akkor okes, de egy png az pixelek egymasutanja, semmi nem mondja meg hogy mi van elol es mi van hatul.

Meg azt irja hogy a kep ket szint tartalmas csak (!!!) feheret meg a hatterszint. Amit harom lepesben tulajdonkeppen ki akar cserelni az inverzere, hiszen a feher keppontokat akarja hatterszinure cserelni a hatteret meg feherre. :D

En javaslom a gimp-et inkabb erre. De lehet teljesen nem ertem mit akar csinalni a kollega.