[ Programmer @ 10.08.2007. 03:41 ] @
| Potrebne su komponente koje kontrolisu Device Independent Bitmap (DIB) i podrzavaju pisanje po njima, funkcije tipa Draw, TextDraw i slicno.
Zbog brzine iscrtavanja potrebna je povrsina po kojoj moze virtuelno da se iscrtava, a da to nije Canvas koji je spor vec memorija (DIB) i onda kad se zavrsi sa iscrtavanjem da se taj bitmap blituje na neki DC.
Probao sam komponente od Peter Morris medjutim te komponente ne dozvoljavaju da se samo kreira neki virtuelni prostor nad kojim ce da se radi vec moraju da se koriste njihove kontrole za iscrtavanje i ostalo.
Moze da se iskoristi source ali ima ga mnogo i to bi odnelo mnogo vremena, zato je potrebno neko jednostavnije resenje.
DIB sa funkcijama za iscrtavanje po njemu. Po mogucstvu radjene u assembleru. Ja sam nasao neke tipa DrawPixel, Fill i slicno, ali fale f-je za iscrtavanje texta i jos neke koje nam trebaju. Kazem, bitno je da se brzo izvrsavaju, znaci da ih je neko pisao u assembleru.
Pozz |
[ rambo @ 11.08.2007. 00:18 ] @
Pogledaj
graphics32. Ne znam dali podržava DIB, ali sigurno znam da je brz.
Adresa:
http://sourceforge.net/projects/graphics32
[ Programmer @ 17.08.2007. 22:15 ] @
TBitmap32 i ostale kontrole rade brze nego obicne, ali ponovo imaju ogromna usporenja zato sto imaju interni doublebuffer, zatim algoritmi sa textom su dosta spori itd.
Klasicno blitovanje radi brze, kazu ovi sto su napravili Graphics32 da radi 100 puta brze ispisivanje single tackice, ali ponovo ako pogledas source tu nema trag od asemblera i sve to moze mnogo brze da se uradi, ako bi se neko potrudio. :)
Nasao sam dosta asm f-ja za crtanje po DIBu ali jos uvek fali pandan TextOut-u.
Pozz
[ viking13 @ 19.08.2007. 13:30 ] @
Citat:
Programmer: algoritmi sa textom su dosta spori itd.
Klasicno blitovanje radi brze
Apsolutno si u pravu. Presporo je. :(
Da li si razmišljao da primeniš princip bitmap fontova kao u DirectX-u i OpenGl-u? Uz malo modifikacija naravno.
Napraviš sliku od fonta i iscrtavaš slovo po slovo pomocu bitblt-a.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.