Převod grafiky mezi různými platformami má řadu úskalí, pramenících například z různého uspořádání dat, podporované bitové hloubky či nutnosti převádět různé grafické formáty.
V tomto článku bych se rád zaměřil na jednoduchý případ převodu dvoubarevného obrázku z PC na Atari. I když se to může zdát triviální, v praxi to tak přímočaré není.
Máme nějaká data, která PC ukládá ve svých tradičních formátech, které ale Atari neumí dekódovat, aniž by to stálo programátora značné úsilí. A pro tyto účely nabízím snadný postup, jak přeměnit obrázek v surová data, která půjde na Atari přímo zobrazit.
Pro postup používám editor Corel Paint Shop Pro Photo XI (dále jen PSP), přičemž by neměl být problém aplikovat ho i v jiných verzích programu.
Začněme tedy tím, že již máme připravený a v editoru otevřený standardní obrázek v rozlišení 320x240 pixelů s jednobitovou barevnou hloubkou (tedy 1 bit = 1 pixel).
1. PSP považuje z binárního hlediska černé body za jedničky a bílé za nuly, obvykle tedy bude obrázek na Atari zobrazený inverzně (předpokládáme-li, že pozadí obrázku je tmavé a body jsou světlé). Proto ještě před uložením provedeme invertování barev obrázku (nabídka Image - Negative Image).
2. Provedeme uložení obrázku ve formátu PBM (File - Save As - Uložit jako typ PBM Portable bitmap (*.pbm)). Než soubor uložíme, klikneme na tlačítko Options v dialogovém okně uložení a nastavíme položku Encoding na možnost Binary. Poté klikneme na tlačítko Uložit.
3. (volitelný krok) Surová data pro zobrazení výše uvedeného obrázku by měla mít přesně 9600 bajtů, nicméně uložený soubor má jedenáct bajtů navíc. Jedná se o hlavičku obsahující identifikační znak a rozměry obrázku v pixelech, vypadá nějak takto:
P4 320 240
Hlavičku můžeme ignorovat přímo při práci s daty v kódu programu, čistší a úspornější však bude se jí zbavit.
K useknutí určitého počtu bajtů z datového souboru existuje jistě řada postupů.
Z laického hlediska je ideální mít textový editor, který po uložení výsledku nepoškodí zbývající data, a ve kterém prvních pár bajtů prostě vymažeme klávesou Del (funguje např. vestavěný editor v souborovém manažeru FAR).
Tento postup lze s dalším mezikrokem použít i pro obrázky s dvoubitovou barevnou hloubkou (ANTIC E neboli grafika 15).
Pokud se mezi čtenáři najdou zájemci, které by tento rozšířený postup zajímal, mohu se pokusit ho připravit hned do dalšího vydání FLOPu.
A to je vlastně celé. Pokud jste se v návodu ztratili, neváhejte a kontaktujte mě.
Zdeněk Eisenhammer aka PG