GDI+ rada

Programovacie jazyky, rady, poradňa...
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

GDI+ rada

Príspevok od používateľa Fabo »

Zdar,

potreboval by som od niekoho kto sa trochu rozumie do GDI+, a pozriet ci nerobim nejaku blbost.

Mam nejaku podkladovu bitmapu ktora zabera cele okno (nie je vykreslena cez GDI+). Velkost okna sa da menit, bitmapa sa tomu prisposobuje.
Na tuto bitmapu potrebujem na presne urcene miesto vykreslit string. Problem je v tom, ze string sa ma prisposobit bitmape tak, aby sa deformoval rovnakym sposobom, ale ak pouzijem DrawText, tak to proste vypise text podla zadanych parametrov na konkretne miesto, bez toho aby sa potrebnym sposobom deformoval.

Potreboval by som radu ako na to, pripadne ci na to idem dobre.

Napadlo ma vyrenderovat tento text do noveho objektu typu bitmap, a tento potom nakreslit prislusne deformovany pomocou DrawImage.
Je to dobry sposob, pripadne mate niekto lepsi?

Zacal som tym smerom cosi pisat. Tuto je cyklus ktory prebehne pri kazdom vykresleni.

Kód: Vybrať všetko

Bitmap b(480,440);
	Graphics *g = Graphics::FromImage(&b);

	gdi_idu::writeLine(g, 1, L"1234567890123456789A1234");
	gdi_idu::writeLine(g, 2, L"1234567890123456789A1234");

	mLayoutRect = RectF( 0, 96, 480, 32);
	g->DrawString(L"1234567890123456789A1234", 24, mIndicatorFont, mLayoutRect, &mStringFormat, mGreenBrush);

		
mGraphics->DrawImage(&b, relW(110), relH(50), relW(480), relH(440));
Nefunguje mi to celkom ako ma, stringy sa spravaju tak ako predtym, predpokladam ze pred zobrazenim bitmapy b este do nej tie stringy musim nejak "zapiect". relW a relH su funkcie ktore vynasobia pozicie a velkosti koeficientom velkosti okna (ziskavam pri kazdej zmene velkosti okna osobitny koeficient pre vysku aj sirku).

Ale hlavne netusim ci tymto nerobim nejaku blbost, lebo neviem ako sa spravaju GDI+ objekty. Predpokladam ze podobne ako premenne, teda pri kazdom cykle sa mi nevytvori nova bitmapa b a nova graphics g, ale pri kazdom cykle sa prepise kus pamate ktory je pre ne alokovany... ale nie som si isty tak sa radej pytam...

//autoeditácia príspevku (27 Mar 2013, 16:19)
Nikto tu nevie GDI+? :(
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: GDI+ rada

Príspevok od používateľa pcsiete »

Mam pocit ze v kurze je uz Metro... V kazdom pripade skus na necom anglickom, napr. stack overflow.
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: GDI+ rada

Príspevok od používateľa Fabo »

Nevadi...

Ono mi to nakoniec cely cas funguje tak ako ma... akurat nasobic velkosti som zabudol upravit na floatove delenie... takze zostaval stale 1... :D
Napísať odpoveď