jpgs?
-
auf der MSDN gibts dafür doch immer beispiel codes. such mal nach GDI+ und JPG auf g00gle und geh dann auf den MSDN link und dann solltest damit was anfangen können.
-
thx i habs mit dor MSDN libary zwar net so wird aba scho gehn
un jez ma noch ne absolut dämmliche Frage wo kann das GDI+ downloaden
irwie mag mich google nich.^^
-
das ist bei visual studio bzw beim psdk schon dabei. da musste nix mehr zusätzlich downloaden.
-
Ha i würd aba lieber dev-cpp.^^
i habs mitn visual studio net so (vielleicht Microsoft phobie)
-
Ist dev-cpp nicht schon seit mehreren Jahren tot?
-
mausetot aber immer noch toll.

codeblocks würd ja och gehn.^^
-
also ich würd sagen man kann mit der gdi jpg laden:
HBmp=(HBITMAP)LoadImageA(0,FileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);und dann musst du es nur noch auf den bildschirm laden ich glaube mit:
SelectObject(hDC, HBmp);oder so:D
-
Dein Code-Snippet funktioniert nur bei Bitmaps und nicht bei jpg-Bildern
-
gut dann brauchst du wirklich ne externe lib:D
-
jpegs kannstr Du mittels OleLoadpicture laden:
http://www.mpdvc.de/html.htm#Q78
Siehe auch:
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9f0f3f8b-79d0-4fcf-8d24-002f11696d9f
-
Man kann auch OleLoadPicturePath verwenden, dann muss man sich nicht mehr um die Datei und den Stream kümmern:
HBITMAP MyLoadImage(LPCTSTR pszFileName) { IPicture* pPicture = NULL; HRESULT hr; HBITMAP hbmp = NULL; #ifdef UNICODE hr = OleLoadPicturePath(pszFileName, NULL, 0, RGB(0, 0, 0), IID_IPicture, (void**)&pPicture); #else int nLen = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, pszFileName, -1, NULL, 0); if(!nLen) return(NULL); BSTR bstr = SysAllocStringLen(NULL, nLen); if(!bstr) { SetLastError(ERROR_OUTOFMEMORY); return(NULL); } MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, pszFileName, -1, bstr, nLen); hr = OleLoadPicturePath(bstr, NULL, 0, RGB(0, 0, 0), IID_IPicture, (void**)&pPicture); SysFreeString(bstr); #endif if(SUCCEEDED(hr)) { if(SUCCEEDED((hr = pPicture->get_Handle((OLE_HANDLE*)&hbmp)))) { if(NULL == (hbmp = (HBITMAP)CopyImage(hbmp, IMAGE_BITMAP, 0, 0, 0))) { return(NULL); } } pPicture->Release(); } SetLastError((DWORD)hr); return(hbmp); }
-
coole, ole ist eins dieser wenigen dinge, mit denen ich mich ja nie befasst hab. und com. das ist ja auch irgendwas mit c++ oder? c++ mag ich nicht.
-
hack0r schrieb:
c++ mag ich nicht.
Neee, COM hat mit C++ nix zu tun. Es ist via reines C erreichbar...