 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 17.08.2004, 12:25 Titel: Mit DX Bildresourcen in eine Surface laden? |
|
|
Ich hab eine kleine DX Anwendung geschrieben die nur zwei Bilder benötigt. Ich hatte jetzt die Idee diese zwei Bilder einfach als Resourcen in die Exe mitreinzukopieren und von daaus zu laden, klappt aber leider nicht!
Code: | LPDIRECT3DSURFACE9 CDirect3D::CreateSurfaceFromResource(LPCTSTR Resourcename,D3DCOLOR ColorKey,D3DXIMAGE_INFO* Info)
{
// Surface anlegen
LPDIRECT3DSURFACE9 Surface;
// Beschreibung des Image Files
D3DXIMAGE_INFO ImageFileInfo;
// Informationen über die geladene Grafik holen
D3DXGetImageInfoFromResource(0,Resourcename,&ImageFileInfo);
// Offscreen-Surface anlegen
m_lpD3DDevice->CreateOffscreenPlainSurface(
ImageFileInfo.Width, // Breite der Oberfläche
ImageFileInfo.Height, // Höhe der Oberfläche
D3DFMT_A8R8G8B8, // Format
D3DPOOL_DEFAULT, // Pool
&Surface, // Zeiger auf die Oberfläche
0); // Handle muss 0 sein
D3DXLoadSurfaceFromResource(Surface, // Oberfläche in die die Grafik geladen werden soll
NULL, // Palette
NULL, // Zielrechteck
0, // Handle zu dem Module indem das Image gespeichert ist, 0 = gleicher Prozess
Resourcename, // Resourcename der Grafik
NULL, // Quellrechteck
D3DX_FILTER_NONE, // Filter
ColorKey, // Colorkey
Info);
return Surface;
} |
Code: | HRESULT WINAPI D3DXLoadSurfaceFromResource(
LPDIRECT3DSURFACE9 pDestSurface,
const PALETTEENTRY *pDestPalette,
const RECT *pDestRect,
HMODULE hSrcModule,
LPCTSTR pSrcResource,
const RECT *pSrcRect,
DWORD Filter,
D3DCOLOR ColorKey,
D3DXIMAGE_INFO *pSrcInfo
); |
Ich habe einfach die Funktionen
D3DXGetImageInfoFromFile, D3DXLoadSurfaceFromFile durch D3DXGetImageInfoFromResource, D3DXLoadSurfaceFromResource ersetzt vor dem Filename/Sourcename eine 0 für den HMODULE Handle eingefügt, 0 dass das Module mit dem gleichen Prozess wie das Programm verknüpft ist, da die Resource doch in der Exe ist?
Was mache ich falsch? Das Bild wird bei mir nicht geblittet....ich hab das gute alte DX9 SDK (von der CD)
GetImageInfo gibt immer die Werte 0 und 1634300481 zurück. Er erkennt also die Resource nicht...Man muss doch einfach nur importieren und dann bei Typ BITMAP auswählen? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 17.08.2004, 12:38 Titel: |
|
|
Muss man es nicht als ganz normale Datei importieren, sonst wären ja alle Grafiken unkomprimiert. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 17.08.2004, 12:44 Titel: |
|
|
Ich kann es nur als:
Accelerator
Bitmap
Cursor
Dialog
HTML
Icon
Menu
String Table
Toolbar
Version
oder eigenes Format importieren... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 17.08.2004, 12:57 Titel: |
|
|
Haste die Ressource korrekt kompiliert ? Wenn ja haste mal versucht die Datei als BITMAp zu speichern ? Wenns absolut nicht geht dann lese die ressource aus und speichere Sie als temporäre datei, zur Namensvergabe dieser datei gibts ja auch einige Funktionen. Und dann die datei ganz normal einlesen. Warum das Temp Dir nicht nutzen gibts ja nicht umsonst  _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 17.08.2004, 12:58 Titel: |
|
|
Dann versuch es dochmal als custom. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 17.08.2004, 13:46 Titel: |
|
|
Oder wie importiert ihr Ressourcen?
Ich habe VC++ 6 und mache das so:
Einfügen-->Resource
Importieren, Bitmapdatei auswählen
Jetzt habe ich bei Ressourcen diese Anzeige:
Skript Ressourcen
-Bitmap
IDB_BITMAP1
+Icon
Kann ich der Funktion dann nicht IDB_BITMAP1 übergeben? Anscheinend ja nicht....  _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 17.08.2004, 14:15 Titel: |
|
|
Warum willst du das überhaupt machen ? Willste ne Demo oder nen IOntro,.. basteln ? Dann würde ichs ja noch verstehen aber wenns nen prog sein soll das schon etwas grösser ist würde ich ne Verzeichnisstruktur aufbauen und evtl. komprimieren (zLib). So ist das Patchen auch viel einfacher und die patchdatei somit kleiner. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 17.08.2004, 14:22 Titel: |
|
|
Ich hab eine Exe und zwei Bilddateien und das Projekt ist schon zu 99% fertig. Jetzt wollte ich alles in eine Datei quetschen. Da hab ich gedacht, dass ich die Bilddateien in die Exe einfüge... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
|
|
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
|