JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

CreateSurfaceFromBitmap(IMAGE_FILE,0,0) - Problem

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Shark
Mini JLI'ler



Anmeldedatum: 27.08.2003
Beiträge: 9

Medaillen: Keine

BeitragVerfasst am: 30.08.2003, 18:01    Titel: CreateSurfaceFromBitmap(IMAGE_FILE,0,0) - Problem Antworten mit Zitat

Hallo,

in dem oben genannten Funktionsaufruf habe ich folgendes Problem. Immer wenn ich das Programm starten will und der 2. und 3. Parameter nicht als Fenstergröße (SCR_WIDTH, SCR_HEIGHT) definiert werden, startet das Programm zwar, aber es blinkt nur kurz ein Fenster auf und ich bin schon wieder im Compiler.

Was mache ich falsch ? Im Buch steht, es würde dann einfach das Bild in orginalgröße erscheinen.

Pls hlp,
thx

Shark
_________________
Wir sollten die Zeit als Werkzeug nutzen, nicht als Couch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 30.08.2003, 19:15    Titel: Antworten mit Zitat

du hast gernichts falsch gemacht. der der was falsch gemacht hat ist wenn dann der Autor.

ich habs bei mir auch mal mit 0 ausprobiert, stürzte am anfang des programms ab.ich hab auch die beiden Zeilen in der funktion gefunden die diesen fehler verursacht:

Code:
SurfDesc.dwWidth  = dWidth;
SurfDesc.dwHeight = dHeight;


mit diesen beiden Zeilen sagst du das die Surface dWidth breit und dHeight sein soll. wenn diese beiden werte 0 entsprechen, heißt das die Oberfläche gerade mal eine auflösung von 0x0 Pixeln hat!!! da ist ja klar das es spätestens beim blitten einen fehler gibt. alle anderen teile der funktion die mit dWidth und dHeight arbeiten funktionieren mit 0.
meiner ansicht nach gibts 2 konkrete Lösungen:
du fügst der "CreateSurfaceFromBitmap"-funktion 2 neue Parameter hinzu; diese beiden beschreiben dann nur die größe der zu erstellenden Surface. das sähe dann so aus:

Code:
...   CreateSurfaceFromBitmap(......... , SurfaceX, SurfaceY);
{
...
SurfDesc.dwWidth  = SurfaceX;
SurfDesc.dwHeight = SurfaceY;
...
}


die zweite, elegantere wäre die Parameter so zu laßen wie sie sind dadafür anhand des geladenen Bildes(ist dann in "hBM" oder außerdem auch in dem DeviceContext drin)rausfinden was für 'ne Auflösung das bild hat und dann die für die erstellung der oberfläche nutzen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Shark
Mini JLI'ler



Anmeldedatum: 27.08.2003
Beiträge: 9

Medaillen: Keine

BeitragVerfasst am: 31.08.2003, 15:32    Titel: Antworten mit Zitat

Ja, danke ...
Das war nur ein Fehler. Der andere Fehler hat mich noch viel mehr zur Weißglut gebracht und nach vielen, vielen Minuten hab ich ihn dann endlich gehabt. Bei #define darf man ja keinen Strichpunktmachen, doch da ich C++ gerade erst zu lernen begonnen habe, wusste ich das nicht. Puh endlich hat der Alptraum ein Ende.

Die Fehlersuche ist eigentlich das, was bei meinen Programmen die meiste Zeit einnimmt. Das kommt wahrscheinlich aber auch daher, dass ich bei manchen Befehlen die Parameter noch nicht komplett weiß ...

cu & thx,

Shark
_________________
Wir sollten die Zeit als Werkzeug nutzen, nicht als Couch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 31.08.2003, 18:09    Titel: Antworten mit Zitat

so ist's oft. ein kleines zeichen vergeßen oder an die falsche stelle gesetzt und schon sitzt man stundenlang dran. naja, so ist's halt im Programier-buissness Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik 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