JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Eine Bitmap als Ressource in ein Projekt einbinden??
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  

Ist das Programmieren ein Hobby für euch??
ja, könnte man sagen!
100%
 100%  [ 17 ]
nein, eher nicht!
0%
 0%  [ 0 ]
Stimmen insgesamt : 17

Autor Nachricht
homer Jay
Mini JLI'ler



Anmeldedatum: 13.01.2005
Beiträge: 12

Medaillen: Keine

BeitragVerfasst am: 13.01.2005, 23:05    Titel: Eine Bitmap als Ressource in ein Projekt einbinden?? Antworten mit Zitat

hi leuz

ich bin noch eher neu auf dem gebiet der directX (8.0) programmierung, und habe schon versucht eine bitmap als ressorce einzubinden (ich weiß ungefähr wie das mit icon und meüs geht) aber es hat nie richtig gefunzt bilder als res. zu benutzen.

mit der suche und google habe ich auch nix gescheites gefunden.

Man muss ja links (ich arbeit mit VC++ 6.0) zum Ressourcenordner eine datei hinzufügen dort dann den erzeugten ordner mit rechts klicken und dann im menü "Importieren" wählen und die gewünschte bitmap hinzufügen.
Danach die Header die sich automatisch erstellt zum Projekt hinzufügen (sie befindet sich im oder in dem man alle anderen dateien hat *.dsw usw.) und diese auch includieren.

Als ID vergebe ich zb: IDB_BALL

ich lade bilder im mom mit LoadImage(), in etwa so:

(HBITMAP)LoadImage(NULL,File,IMAGE_BITMAP,breite,hohe,LR_LOADFROMFILE);

File ist ein string in dem der pfad auf der HD gespeichert ist.

Nun frage ich mich:
Welche funktion bzw. makro muss ich nun verwenden um die bmp von einer ressource zu laden???

würde mich sehr über hilfe bzw. tipp (links) von euch freuen (diesen prob. zermürbt mich schon länger)

homer Jay
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.01.2005, 23:11    Titel: Antworten mit Zitat

Code:
LPTSTR MAKEINTRESOURCE(
    WORD wInteger
);



CPP:
(HBITMAP)LoadImage(NULL,MAKEINTRESOURCE(IDB_BALL),IMAGE_BITMAP,breite,hohe,LR_DEFAULTSIZE);


So sollte es klappen
_________________
"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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 00:24    Titel: Antworten mit Zitat

Du bindest die Bilder genauso ein, wie jede andere Resource. Also wenn es noch keine Projektname.rc gibt erstellst du sie, indem du im Projektexplorer aus dem Kontextmenu "Resource hinzufügen" auswählst.
Bilder (Texturen) solltest du am besten in einem externen Bildbearbeitungsprogramm erstellen - das interne ist ne Krankheit!
Danach hast du auch die Datei Resource.h, die musst du in deinen C-Dateien mit #include einbinden. Wenn du sie bearbeitest, kannst du sogar die Bezeichner ändern - auf jeden Fall solltest du dann aber auch die RC-Datei mit anpassen (einfach mal mit öffnen mit als Text öffnen...)
Zu Guter letzt gibt es die Funktion LoadImage(), mit der du die Bilder aus der Resource laden kannst. Für komplexere Resourcenbehandlung kanst du auch die Resourcenfunktionen verwenden - welche da sind:
FindResource(), LoadResource(), EnumResource[Types/Names/Languages](), ...
Einfach mal MSDN schmökern - Beispiele gibt es dort auch.

[Edit]
PS.: Die umfrage ist a) hier unpassend und b) nicht vollständig: Ich programmiere Hobbymäßig, aber auch im Beruf
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 13:44    Titel: Antworten mit Zitat

Berufsprogrammierer und Hobby.

Nebenbei: Was willst Du mit resourcen? Sind viel zu unflexibel für sowas und fressen nur Speicher. Lass da mal die Foten von Weg Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 17:47    Titel: Antworten mit Zitat

Patrick hat wie imma recht, die .exe wird riesengroß und dasl laden dauert ewig(relativ gesehen). Besser du machst halt nen Ordner mit den Ressourcen, kannst es zur not auch komprimieren( bei doom3 warns auch nur zips mit anderer Endung, glaub ich).
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 18:16    Titel: Antworten mit Zitat

HomeLess_PunkDrummer
Naja immer hab ich nun nicht recht Wink

Korrektur: Ladezeiten sind geringer, da sie schon Binär in der exe enthalten sind, exe wird größer, es wird nicht jedes format unterstützt unter Resourcen (außer man ist am tricksen!) und die ID-Engines (bekannt durch ihre pak's) benutzen ein Zipähnliches Verfahren jedoch ohne Komprimierung und anderer Datenheader Smile Umbenennen geht, aber ältere Zip-Reader hauen dir einen Crash um die Ohren Very Happy

Und die 2 milli sekunden aus nem Ordner laden sollte man vorziehen als der Resourcenversion, vorallem ist viel flexibler Smile

- Patrick
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 19:25    Titel: Antworten mit Zitat

Das deutsche Wort Ressource schreibt sich mit Doppel-s.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 19:32    Titel: Antworten mit Zitat

KI hat Folgendes geschrieben:
Das deutsche Wort Ressource schreibt sich mit Doppel-s.

Nobody is perfect Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


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

BeitragVerfasst am: 14.01.2005, 19:35    Titel: Antworten mit Zitat

ja stimmt, ich hasse das, weil ich mich hedesmal verschreibe... Aber ich finde das Ressourcen schon cool sind, habe mich früher immer gefragt, wie die das immer machen mit nur einer Datei.
Außerden kann da kein noob dir die Bilder klauen. Und wegen der flexibilität kann man die ja auch in dll's packen. (obwohl noobs ja immer Panick bekommen, wenn die ne dll sehen...)
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 19:46    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
Und wegen der flexibilität kann man die ja auch in dll's packen.


Was hatte Charles Petzold mal auf einer Pressekonferenz gesagt?
"Es ist eine Schande DLLs als Resourcensammelbecken zu missbrauchen!" Wink

Ordentliches Codierungsverfahren reicht. DLLs sind nicht flexibel für Grafiken auch wenn man sie Dynamisch laden kann, aber mal ehrlich: Wer in Gottes Namen macht so einen Aufstand für paar billige Grafiken? Vorallem: DLLs und sicher, pah, ne runde mit nem Disassembler drüber gehen, hex-werte mit headern extrahieren und in ne BMP abspeichern Wink

Zwar net legal, aber disassembler bekommt man an den Kopf geworfen! Very Happy
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


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

BeitragVerfasst am: 14.01.2005, 20:47    Titel: Antworten mit Zitat

ja klar kann man da rannkommen, aber insgesamt betrachtet hat nur eine minderheit aller PCUsern Ahnung, das da überhaupt Bilder drinn sind, und noch viel weniger wissen wie man die da raus bekommt. Ich meine nicht jeder der das Spiel spielen wird wird ein Programmierer sein, oder?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 14.01.2005, 21:32    Titel: Antworten mit Zitat

Was stört dich eigentlich wenn jemand deine Bilder klaut? Wenn er sie auf einer HP oder sonst wo veröffentlich schickst du ihm einfach ein Mahnung in der du 900€ forderst. Und für den privaten gebraucht wirst du ihm das doch noch erlauben oder?

Wegen der Rechschreibung: ich finde es ist wichtig das man bei schweren "verstössen" darauf hinweist, es tut dir ja nichts, aber dafür merkt man sich das, und macht es beim nächsten mal vielleicht richtig.

Wer seine Quellen versteckt hat nichts davon, sharing ist das Zauberwort Wink (komerzielle Produkte ausgenommen)

Ihr haltet Leute, die Bilder klauen, damit Laien diese "Meisterwerke" nicht sehen auch für verrückt Wink
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 15.01.2005, 01:47    Titel: Antworten mit Zitat

Wo wir schon mal dabei sind: Ich würde den Kram schon in ne gezippte Datei packen (bei knappen 75 MB Bilder+++ vielleicht nicht schlecht...). Nur WIE??? Ich kenn von Windows nur das laden aus ungezippten... Sagt mit mal jemand, wie das geht?
Noch was zum Resourcen rausziehen: Ich hab da so ein Programm...
ResHacker. Macht den Disasembler und die Arbeit überflüssig.
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 15.01.2005, 09:14    Titel: Antworten mit Zitat

FH hat Folgendes geschrieben:
Wo wir schon mal dabei sind: Ich würde den Kram schon in ne gezippte Datei packen (bei knappen 75 MB Bilder+++ vielleicht nicht schlecht...). Nur WIE??? Ich kenn von Windows nur das laden aus ungezippten... Sagt mit mal jemand, wie das geht?


Google -> ZLib eingeben Wink

FH hat Folgendes geschrieben:

Noch was zum Resourcen rausziehen: Ich hab da so ein Programm...
ResHacker. Macht den Disasembler und die Arbeit überflüssig.


Was glaubste wohl was ResHacker in sich drin hat? Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 15.01.2005, 09:53    Titel: Antworten mit Zitat

FH hat Folgendes geschrieben:
Wo wir schon mal dabei sind: Ich würde den Kram schon in ne gezippte Datei packen (bei knappen 75 MB Bilder+++ vielleicht nicht schlecht...). Nur WIE??? Ich kenn von Windows nur das laden aus ungezippten... Sagt mit mal jemand, wie das geht?


Du kannst doch einfach, als Pfad des Bildes den der .exe Datei angeben. Dann lädt er das Bild aus dem Ordner wo auch die .exe Datei ist. Wenn du diesen Ordner dann als .zip/.rar oder sonst was packst, kannst du auch das Programm aus dem Archiv starten.

Zitat:
Noch was zum Resourcen rausziehen: Ich hab da so ein Programm...
ResHacker. Macht den Disasembler und die Arbeit überflüssig.
Gruß

FH


Gibt es sowas wie den ResourceHacker auch für Quellcode?
Gruß JkerryZ
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 -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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