Narsil č. 49

Fit color

↑

FIT COLORS

********

Máme nějaký obrázek a potřebujeme přehodit barvy v barevné paletě a jinak nechceme na obrázku nic měnit. Jak na to? STčkářům doporučuji použít program Cyberpaint 2.0 nebo 2.1.

Na obyčejném STčku se ve středním rozlišení (320x200 pixelů) používá 4bitová grafika. To je maximálně 16 barev současně v jednom screenu vybraných z 512 barev možných. Jedna barva z šestnácti je zároveň barvou borderu (a pozadí). V CyberPaintu je barva borderu pevně nastavená jako barva průhledná a v paletě (pravá myš/color/palette) je na první pozici zleva.

Někdy potřebujeme, aby měl obrázek určitou barvu v konkrétním barvovém registru. Například chcemeli obrázek umístit do narsilovského článku. Karel Rous, autor editoru článků a celého systému Narsilu například určil pro barvu textu barvový registr hned vedle. To je v paletě CyberPaintu druhá barva zleva.

Pokud se podíváte v CyberPaintu na uspořádání barevné palety obrázku, který chcete vložit do narsilovského článku zjistíte například, že první dvě barvy jsou velmi tmavé. Jejich jas je skoro stejný. Jelikož první barva je barvou pozadí a druhá barvou písma, byl by text velmi špatně čitelný. Obrázek by byl v pořádku, ale obtékal by ho neviditelný text. Obrázek obsahuje také barvy s výrazným jasem, ale jejich poloha v registrech je jiná než bychom potřebovali. Některé pixely v obrázku a text sdílejí stejný barvový registr v paletě.

ŕešení je jednoduché, Mezi druhým barvovým registrem v paletě obrázku zleva a nějakým dalším (obsahujícím vhodnou barvu) musíme barvy přehodit.

Obrázek nahrajeme do CyberPaintu a postupujeme následujícím způsobem:

1/v pulldownmenu nahoře najedeme na položku CLIP a zvolíme z nabídky opět CLIP (vyberete plochu obrazovky determinovanou polohou pixelů obsahujících libovolnou neprůhlednou barvu) nebo CUT (pomocí CUT si můžete vybrat libovolný výřez, nebo celou obrazovku)

2/teď COLOR/PALETTE a vidíme paletu obrázku a pozice jednotlivých barev v registrech.

3/zjistíme pohledem například: obrázek obsahuje (v pixelech) všech 16 barev a na první pozici zleva je bílá barva. Ale my tam chceme mít co nejtmavší barvu. Vybereme mezi ostatními barvami v dalších (15) regisrech tu nejvhodnější a obě barvy mezi sebou prohodíme. Pro přesun první barvy můžeme použít copy: klikněte na barvu, kterou chcete kopírovat jinam, klikněte na buton COPY a pak na pozici v paletě, kam se má zkopírovat. Před tím si ale zapamatujte RGB složky barvy na této pozici, protože barva bude změněna. RGB složky pak na stejné hodnoty nastavte v prvním registru. Teď jste přehodili mezi sebou obě barvy v paletě což se projeví i v obrázku, ale nenechte se tím zmást. Vy máte pořád původní obrázek v RAM bufferu, jelikož jste před změnou barev použili příkaz CLIP.

4/ Jelikož měníte první (průhlednou) barvu, zvolte v pulldown menu nahoře položku MODES a nastavte XRAY COPY vypnuto (bez šipek). Tím jste zrušili průhlednost.

5/teď zvolte položku CLIP a klikněte na FIT COLORS. FIT COLORS přiřadí barvám obrázku v RAM bufferu (CLIP - původní paleta) co nejpodobnější barvy z palety právě aktuálního framu (screenu) a nahradí je jimi. Po kud jsou však v obou paletách použity stejné barvy, (jsou jen v jiných registrech) přiřadí se barvy zcela přesně.

6/zase zvolte CLIP a klikněte na PASTE. Pozor: Mezi příkazem CLIP(CUT) a FIT COLORS nesmíte původní barvy (RGB hodnoty) v obrázky měnit (dodat vlastně novou barvu, ktrá v původní paletě nebyla), jen přehazovat mezi sebou. Při FIT COLORS by pak CyberPaint mohl některým pixelům přiřadit nesprávné barvy a tak by se obrázek zásadně změnil (ztráta informace).

Narsil FITCOLOR – obrázek 1

To je vše. Nyní máte úplně stejný obrázek, se stejnými barvami jako původní ale s přehozenými barvami v registrech (ne v pixelech na obrázku). Popsaný postup se může zdát trochu složitý, ale ve skutečnosti vám celá akce zabere jen okamžik.

Jsou samozřejmě ještě jiné způsoby jak docílit stejného efektu bez použití příkazu Fit Colors, ale ty jsou o dost složitější a časově náročnější.

Jednoduchý postup můžeme použít, pokud je v pixelech obrázku použito méně než 16 barev: Barvu z registru který chceme změnit můžete překopírovat do některého neobsazeného registru, použít na pixely v obrázku, které jí obsahují funkci SEPARATE (stejnou barvou v novém registru) a pak původní registr změnit.

Ještě upozornění ohledně konvertování obrázků například s 8mi bitovou grafikou do ST (4bitové barvy) formátů. Grafické programy (např. GemView atd. někdy mohou přiřadit některým barvám nové RGB hodnoty s chybou (např zmenší jas o jeden stupeň). Pak musíme chybu odstranit ručně nastavením vhodnějších RGB hodnot).

-JS-