zoom pisma - graficky display

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

zoom pisma - graficky display

#1 Příspěvek od mikollar »

zdravim

Nedari sa mi najst akym sposobom je riesena zmena velkosti pisma na grafickych displejoch (B/W) pri pouziti jednocipov. Nechce sa mi pre kazdu velkost generovat celu sadu znakov, jednak je to pracne a zabera to vela pamate. Nepotrebujem hotovy kod, staci princip.

Dakujem
Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 00:00
Bydliště: Kadaň
Kontaktovat uživatele:

#2 Příspěvek od Jenda_KL »

Dospěl jsem k tomuto závěru:
O dost pracnější na programování a náročnější na MCU je právě renderovat fonty "OnLine" (jako třeba TTF ve windows).
1 znak tedy není bitmapa ale soubor vektorů.
Místo, které by se ušetřilo na dalších dvou sadách, by bylo menší než na renderovací kód.
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

#3 Příspěvek od mikollar »

potrebujem asi tak 5 - 6 velkosti, tak to by sa uz snad oplatilo, skusim pozriet tymto smerom dikes
Uživatelský avatar
Hill
Administrátor
Příspěvky: 21239
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#4 Příspěvek od Hill »

Na ZX-Spectrum existovala v sadě ZX-Tools (pamatujete ten prográmek, co měl v úvodní obrazovce v každém roku obrázek kladívka?) utilitka, měla asi 4kB a šlo její pomocí zvětšovat znaky. Každý znak měl 8 sloupců a 8 řádků, co bajt, to řádek, využitých bitů vždy bylo až 6 ojediněle až 7 (zbývající sloupce byly vodorovné mezery mezi znaky a volné řádky tvořily mezery mezi znaky svisle).
Do konkrétního bajtu šlo vložit, kolikrát bude opakovat bajt do řádků a do jiného, kolikrát se bude opakovat bit do sousedního. Znaky se daly v obou směrech zvětšit až 8x.
Dvakrát zvětšený znak na výšku pak zabral 16 bajtů, dvakrát na výšku a šířku pak 32 bajtů, třikrát na výšku a dvakrát na šířku si vytvořil v paměti sadu 48 bajtů, všechny se tvořily z původních 8 bajtů jednoho znaku.
Moc hezké to zvětšené písmo nebylo, ale technika to byla efektivní a na obrazovce to bylo z dálky čitelné. Navíc (na svou dobu geniální a dodnes udivující) organizace oblasti paměti pro videoram neuvěřitelně zjednodušila adresování každého bajtu.
Mimoto se dala použít další rutina, která pomocí posuvu bitů v bajtu s přenosem pak připravený řádek znaků (resp. skupinu řádků, z nichž se celý textový řádek skládal) umožňovala písmo i naklonit. U už zvětšeného písma to vypadalo výrazně lépe, než před zvětšením.
Protože ti stroják pro Z80CPU se zobrazením přes obvod ULA nebo PLA asi k ničemu nebude, ušetřím si hledání mezi kazetami.
Myslím ale, že tudy cesta třeba i vede a máš nad čím přemýšlet.
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“