kreslení ve vrstvách pomocí GDI+   otázka

VB.NET, WinForms, Grafika

Dobrý den,

Potřebuji udělat takovou vyukovou aplikaci, kdy na formuláři bude doplněný picturebox a v něm obrázek mapy ČR a já bych na ten obrázek potřeboval kraslit - ale do vrstev - horní část formu by obsahovala checkboxy pro zviditelňování jednotlivých vrstev, mohou být vidět všechny, jen některé, nobo žádná, dále pak combo s výběrem té vrstvy, do které zrovna chci kreslit. ´řeším to tak, že si v deklarační části formuláře bytvořím objekty bitmap (počet odpovídá počtu vrstev), v konstruktoru si vytvořím objekty Bitmap, jejich příslušné graphics a do těch pak kreslím, vše funguje. Problém je, že při vysokém rozlišení mi aplikace žere dost paměti, permanentní objekty bitmap s vou velikostí z paměti dost ukousnou... a dále pak, že asi není optimální takhle mít neustále vytvořené objekty, které mi mohou blokovat zdroje (třeba zrovna graphics). Prosím o radu, jak to udělat "systémově"... správně.

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Můžete použít buď WPF, nebo Direct2D (dostupný pouze ve Windows Vista nebo 7). Direct2D je funkčně i použitím totožný s GDI+, u WPF byste se musel naučit vše od začátku.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

s gdi+ to nejde? vždyť to už nějakým způsobem řeším...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jde, ale zůstanou vám stávající problémy. Vrstvy přímo podporuje pouze Direct2D a WPF.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback