jpgs?
-
Nach schir endlosen C-Konsolen anwendungen hab ichs endlich zur WinAPI geschaft *hurra*. Also bin i of den gebiet noch ziemlicher Anfänger
also bitte verzeiht meine dumme frage also i würd gern jpgs integrieren die frage ist aber wie.^^
un falls ihr n tutorial kennt was was gut un vorzugsweise Deutsch ist hätt i goch gern n paar infos drüber.
un ja ich weiß http://www.gidf.de/ aber i hab echt nüch viel sinnvolles gefunden.^^
-
Am einfachsten ist es wohl, wenn du eine Bibliothek nutzt, wie z.B die GDI, GDI+ o.ä., die dir die Arbeit des ladens usw. abnimmt. Sag doch mal, was du genaueres machen willst, dann können wir besser einschätzen, was geeignet dafür ist.
-
I wollt e bissel spiele programmieren (ers ma ganz enfaches Zeux)
nachdems beim mir mit allegro net so rüsch gefunzt hatt (reichte für e Pong konnt aba kene Frames rüchtig begrenzen und gude tutorials (D) warn och schwer zu finden)
E nettes Tutorial für WinAPI wär och toll.^^
-
Mit der GDI kannst du aber nichts laden, höchstens mit der GDI+ oder anderen Grafikbibliotheken.
-
Thx für de infos ihr kennt net zufällig e gudes tutorial dafür oder?^^
-
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...