LoadImage GDI+

poruka: 5
|
čitano: 1.707
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
problem otvaranja slika u GDI+ / string to wchar

 

Pozdrav,

 

Ovako:

 

Image image(L"Grapes.jpg");

graphics.DrawImage(&image, 60, 10);

 

sada kako da ja umjesto L"Grapes.jpg" koristim string tipa ovako nešto:

 

string str="bok";

Image image(str);

graphics.DrawImage(&image, 60, 10);

 

on meni podcrta str zato što nije odogovarajučeg formata. Kako da ja sad string pretvorim u WCHAR da mi to radi.

 

 

 

Hvala

Poruka je uređivana zadnji put pon 17.1.2011 21:30 (filip911).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: problem otvaranja slika u GDI+ / string to wc

Koliko sam ja skužio ti želiš iscrtati sliku koja se nalazi spremljena u folderu zajedno s aplikacijom, e sad ovi kod ti nimalo nevalja jer ne kužiš neke osnove a to su da je klasa Image apstraktna i kao takva ne može imati konstruktor što si ti pokušao napraviti ali i to je krivo.

To bi ti ovako trebalo izgledati:
string strImgFileName="Graphics.jpg";
Image imgSlika = Image.FromFile(strImgFileName);
Graphics g = this.CreateGraphics();
g.DrawImage(imgSlika, 60, 10);

 

EDIT:

Još da ti napomenem da ti je imenovanje varijabli katastrofalno i preporučam ti da malo na tome poradiš i na osnovama OO programiranja, da ti se ubuduće ne događa da pokušaš inicijalizirati apstraktnu klasu.

Poruka je uređivana zadnji put pon 17.1.2011 21:48 (Joco55).
16 godina
neaktivan
offline
LoadImage GDI+

ne c# već c++

 
0 0 hvala 0
15 godina
neaktivan
offline
RE: LoadImage GDI+

opa, WinAPI

 

To ti se dogada zato sto funkcija ocekuje unicode string a ti joj saljes ANSI.

Za takve radnje koristi wstring

 

npr. u tvom primjeru bi islo:

 

wstring str (L"bok");

 

Sada bi valjda, "str" treba moci proslijediti funkciji.

 

Za konverziju iz obicnog char formata u wide char (unicode) koristi funkciju MultiByteToWideChar

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
16 godina
neaktivan
offline
LoadImage GDI+

Evo riješio sam problem. Zakomplicirao sam ali radi a i nemam vremena da skratim. Uglavnom pretvaranje je sljedeće: string->wstring->WCHAR

 

string s=name + ".jpg";

wstring temp(s.length(),L' ');

copy(s.begin(), s.end(), temp.begin());

const wchar_t *pwstr = temp.c_str();

Gdiplus::Graphics graphic(hdc);

Gdiplus::Image image(pwstr);

graphic.DrawImage(&image, 0, 0);

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice