Popis: Program pro konverzi SRF souborů (3D Vehicle) do PNG, BMP, TIF a zpět.
Verze: 0.1
Autor: logman@path.cz
Poznámka:
Tento konvertor je určen výhradně pro konverzi formátu 3D ikon a nelze jej využít pro tvorbu demonstračních animací. Před použitím si přečtěte podrobnější informace (níže)
Download:
Historie:
v0.1 (21.9.2009)
===============
- první verze



Základní informace o formátu SRF
Souborový formát SRF je vlastní nekompresní formát společnosti Garmin, který využívá ve vlastních navigačních přístrojích. Je určen pro definici obrazových dat, zejména 3D ikon (3D vehicle), demonstračních obrazovek, resp. prezentačních animací a dalších utilit. Garmin ve svých přístrojích využívá pouze (dnes ještě stále dostatečnou) 16bitovou barevnou hloubku a každý pixel je tak prezentován 2 bajty pro složku RGB a jedním bajtem pro Alfa kanál (transparentní zobrazení). Díky tomu, že Garmin v tomto formátu nevyužívá žádnou kompresi je zřejmé, že hlavní nevýhodou SRF formátu je velký datový objem. Další nevýhodou je uzavřenost formátu - formát není dokumentován.
Původně se očekávalo zveřejnění nástroje, který koncovým uživatelům umožní výrobu vlastních 3D ikon. Nikdy k tomu však nedošlo a dlouho jediným a neoficiálním online nástrojem pro obousměrnou konverzi byl web http://www.techmods.net/nuvi/.
Princip zobrazení 3D Vehicle
Animovaná 3D ikona, kterou jistě dobře znáte z mapové stránky se skládá z 36 statických obrázků, resp. pro každých 10° jeden obrázek (10° x 36 = 360°). SRF soubor tedy obsahuje 36 obrázků o rozměru a x a určených pro zobrazení ve 3D a 36 obrázků o rozměru b x b pro zobrazení ve 2D. Firmware přístroje se stará o rychlé překreslování těchto statických obrázků, čímž vzniká samotná animace. Barva, která se nemá zobrazovat jsou vymaskována použitím alfa kanálu.
Standardně Garmin pro barvu pozadí všech obrázků používá černou (black), na kterou aplikuje masku v rozsahu od 0 do 128 (alfa max = průhledná barva, alfa min = žádná maska/plná barva). Díky tomu není u ikon vidět oblast čtverce, ale pouze samotný objekt.
Garmin 3D Vehicle SRF Converter
Tento nástroj umožňuje podobně jako www.techmods.net/nuvi konverzi SRF do formátu PNG s podporou alfa kanálu ARGB (0xAARRGGBB) a zpět s tím rozdílem, že pracuje zvlášť s 3D a 2D sekcemi. Protože se uživatelé často trápí s definicí alfa kanálu, přidal jsem možnost exportu a importu PNG, BMP, TIF a JPG bez alfa kanálu, který se následně vypočítá na základě prvního pixelu. Jedná se ale spíše o experiment, který je potřeba vyzkoušet.
Obrázek je primárně exportován v celé sekci, tedy např. pro 3D zobrazení se při definici rozměru 80 x 80 px na jedno zobrazení exportuje bitmapa o rozměru 2880 x 80 px (šířka 80 px * 36). Pozor, Garmin u drtivé většiny přidává 1 px pro vlastní potřebu a rozměr může být i 2881 x 80 px.
Pokud se někomu nepracuje s takto velkým rozměrem pohodlně, může si vytvořit jednotlivé obrázky (36 ks) a pak je spojit pomocí funkce Merge.
Dále je zde nástroj, který umožní nahrazení barvy. Je tedy možné nahradit barvu 0xRRGGBB barvou vlastní se zachováním původní masky (pokud existuje).
Pro konverzi je v programu využito GDI+, které není hardwarově akcelerováno. Širší možnosti programu jsou tedy vykoupeny vyšším časem konverze.