JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=d3fb6a66e2cfb106e12bc4ea8005aa81Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Probleme mit dem Laden von Bildern

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 17:45    Titel: Probleme mit dem Laden von Bildern Antworten mit Zitat

Ich habe versucht, eine Funktion zu schreiben, mit der man ein Bild auf eine Oberfläche Blitten kann:

void EDDPicBlit(LPDIRECTDRAWSURFACE7 *lpSurface, char DatName[], int xpos, int ypos, int xSize, int ySize)
{
HBITMAP hBM = (HBITMAP)LoadImage(NULL, DatName, IMAGE_BITMAP, xSize, ySize, LR_LOADFROMFILE);
HDC hSurfDC;
*lpSurface->GetDC(&hSurfDC);
HDC hBmDC=CreateCompatibleDC(hSurfDC);
BitBlt(hSurfDC, xpos, ypos, xSize, ySize, hBmDC, 0, 0, SRCCOPY);
*lpSurface->ReleaseDC(hSurfDC);
DeleteObject(hBM);
}

Mit folgendem Codeabschnitt hab ich sie aufgerufen:

Hintergrundbild=2;
sprintf(Bild, "Hintergrund%d.bmp", Hintergrundbild);
EDDPicBlit(&lpHintergrund, Bild, 0, 0, 1024, 768);

lpHintergrund ist eine gültige Oberfläche, Hintergrundbild eine gültige int-Variable.

Bei der kompelierung entstehen 2 Fehler:
*lpSurface->GetDC...
*lpSurface->ReleaseDC...

Die beiden Zeilen sind falsch. Wenn ich die * weglase, so dass es keine Zeiger mehr sind, kommt zwar kein Feher, aber es funktioniert nicht. Die lpHintergrundoberfläche bleibt unverändert. Daraushabe ich geschlossen, dass man mit Zeiger die Oberfläche bearbeiten muss, da ja sonst eine Kopie der Variable erstellt wird. Aber mit zeigern funktionierts halt nicht.

Hoffentlich kann mir einer helfen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 17:51    Titel: Antworten mit Zitat

Versuch mal (*pSurface)->bla
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 18:11    Titel: Antworten mit Zitat

Hallo,

wenn ich nicht völlig blind bin, sollte es

[edit]

Ich bin blind, aber warum übergibt du bitte Zeiger
auf die Zeiger der Oberfläche und nicht die Zeiger direkt?

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 18:37    Titel: Antworten mit Zitat

Ich vermute mal er hat sich das bei den DirectX API-Aufrufen abgeguggt und hat das für korrekt gehalten. Nur eine Vermutung aber meine Verhaltensanalysen sind ziemlich oft korrekt. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum