Suchergebnisse
Suchergebnisse 1-16 von insgesamt 16.
DANKE iSmokiieZz!! Ich habe jetzt die getpixel Funktion von dir benutzt und es funktioniert!! Ich weiß nicht wieso die Funktion get_pixel32 von Lazyfoo bei mir nicht funktioniert hat :/ Danke!! Gibts hier irgeendwo nen Danke-Button, oder eine andere Möglichkeit jemanden zu danken?
So, tut mir leid, dass ich nicht geantwortet habe, aber ich habe mir den Finger gebrochen -.- Ich habe den Fehler wahrscheinlich gefunden: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 SDL_LockSurface (m_pBitmap); format = m_pBitmap->format; Uint32 pixel; pixel = get_pixel32(m_pBitmap, 0, 0); SDL_GetRGB(pixel, format, &r, &g, &b); cout << "Rot: " << (int)(r) << " Grün: " << (int)(g) << " Blau: " << (int)(b) << endl; cout << "BytesPerPixel: " << (int) m_pBitmap->format->BytesPerPixel; c...
Wie schon gesagt: Wert von Format: 0x00fc0488 Format ist eine Struktur und die Werte der Variablen stimmen alle. Und an m_pBitmap kann es normal auch nicht liegen, da sich diese ordnungsgemäß rendern lässt.
Ja, das ist gewollt, dadurch, dass die Felder jeweils 10 Pixel auseinander liegen. Ich muss die Map Klasse in dieser hinsicht sowieso noch verbessern, aber da ist mir bis jetzt noch keine gute Idee gekommen. Aber das ist ein anderes Thema Die Instanz der CMap klasse stimmt ziemlich sicher, da ich sonst keine Fehler habe und auch alle Variablen richtig funktionieren
Sorry, aber wenn ich die ganze Klasse hier hochladen würde, dann würde das hier sehr unübersichtlich werden Ich kürze mal die beiden relevanten Dateien: Map.hpp: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 #ifndef MAP_HPP #define MAP_HPP #define MAPHEIGHT 550 // Fields #define MAPWIDTH 1000 // Fields #include "Singleton.hpp" #include "Sprite.hpp" #def...
Wert von Format: 0x00fc0488 r, g, b sind im Konstruktor wie folgt definiert: r = g = b = 0; SDL_LockSurface gibt den Int-Wert 0 zurück.
Ok, gibts da ein gutes Tutorial? Ich habe das Kapitel 8.8 des Buches C++ für Spieleprogrammierer schon gelesen und verstanden, nur leider steht da nichts davon drin. EDIT: ja, die beiden Pointer Format und m_pBitmap zeigen auf das was sie sollten. Gruß
Ja, wie gesagt der Dubugger gibt aus: Unbehandelte Ausnahme bei 0x68127206 in 1492.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xf4dff914. Nur leider finde ich die "Position 0xf4dff914" nicht.
Kann mir jemand bitte eine funktionierende Möglichkeit zeigen, um die Farben eines Pixels auszulesen? Die vorhandenen Tutorials im Internet helfen mir irgendwie auch nicht
Was meinte FSA dann damit?
Oh, danke FSA! Ich habe nun (wie bei m_pBitmap) diese Zeile ergänzt: format = new SDL_PixelFormat; Leider immer noch das selbe Problem. Jetzt habe ich den Debugger zum laufen gebracht! Er gibt aus: Unbehandelte Ausnahme bei 0x68127206 in 1492.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xf9c37c5c. - Also doch ein Fehler bei den Zeigern? :o
Ok, ich werde Absolute Pfade verwenden und mein Ergebnis dann hier posten. Also zum Zeiger: Ich initialisiere meine Variablen mit: C-/C++-Quelltext 1 2 3 m_pBitmap = NULL; r = g = b = 0; format = NULL; Ok, ich werde mich bemühen David
Sorry, aber wie ist das Gemeint mit der Gültigkeit? Meinen Sie damit den Gültigkeitsbereich? Wenn ja, dann ist Format schon gültig. Wenn ich diese Zeile auskommentiere, stürzt das Programm nicht ab. Ebenso wenn ich vor und nach dieser Zeile einen Text in die Konsole schreibe, wird nur der Text davor angezeigt. Debuggen kann ich irgendwie nicht, da mein Programm, wenn ich den Debugger aufrufe, eine Bitmap nicht finden kann (Die Bitmap hat nichts mit den beiden Funktionen zu tun. Diese sind nur Te...
Sorry, das habe ich vergessen Habs in der Header-Datei geschrieben. Gruß
Hallo! Dies ist mein erster Post hier auf dieser Seite, ich hoffe also dass ich mich im richtigen Forum befinde Zu meinem Problem: Ich bin dabei eine Funtkion zu schreiben, mit der ich die Farben (R, G, und B Wert als int) eines Pixels (x, y) auslese. Bis jetzt bin ich so weit: Header: ... SDL_Surface *m_pBitmap; Uint8 r, g, b; SDL_PixelFormat *format; ... Funktionen: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 void GetRGB() { m_pBitmap = new SDL_S...