Images mit vc++ darstellen
-
Hi Leute,
ich will ein 2D Spiel schreiben doch scheitere bereits an der Darstellung einer Bitmap Datei in einem Fenster(mit API programmiert). Könnt ihr mir sagen wie genau man eine Bitmap Datei auf den Bildschirm bringt? Wäre nett wenn ihr mir auch noch ein Beispiel anführen könntet("API Fenster Code" könnt ihr natürlich im Beispiel weglassen ihr müsst dann bloß die Variablen erklären).
-
Mit Std-C++ hat das nix tzu tun, also könnte das jemand verschieben...
Nu mal son Tipp : Schnapp dir HDC des Fensters & HDC der Bitmap. Mit einem Aufruf von BitBlt sollte das dann gehen... Mehr zu BitBlt :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_0fzo.asp
-
tnx
auf BitBlt bin ich bei meiner Suche nach einer Lösung auch schon gestoßen aber mein Problem ist das ich nicht weiß wie ich die HDC des Fensters und der Bitmap kriege. Welche Funktion hat den Rückgabetyp HDC? Oder geht es auch noch anders?
-
Auf HWND deines Fensters kannst du doch zugreifen, oder ? Wenn ja, dann kannst du ganz einfach GetDC verwenden, um an den HDC ranzukommen...
-
nochmal tnx
Ich werde es probieren; Auf die HWND des Fensters kann ich zugreifen aber ich kenn mich APImäßig noch nicht so aus(Ist mein zweiter Tag API Programmierung vorher hab ich nur in der Konsole programmiert)
-
Für 2D-Spiele dieser Art empfehle ich Allegro, vielleicht ist jemand so nett und verschiebt dich ins Spiele/Grafik-Forum. Dort findest du auch in der FAQ einen tolle Beitrag über Allegro.
MfG SideWinder
-
Gut ich höre mich über Allegro um. Aber nochmal ne Frage: Wie kriege ich die HDC von ner BMP Datei?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
HDC von einer Bitmap kriegst du gar nicht

Ein DeviceContext ist ne Art Leinwand.
Mit CreateCompatibleDC(NULL); kannst Du dir nen DeviceContext mit denselben Eigenschaften wie der DeviceContext vom Desktop erzeugen.
Mit SelectObject() kannst Du deine Bitmap dann mit dem DC verbinden und mit BitBlt() kannst Du den erzeugten DC mit deiner Bitmap in den DC deines Fensters (mit GetDC(hWnd) geholt) kopieren...
-
tnx für den Hinweis