diego - Fr 14.11.03 14:48
Titel: Bitmap und Strings in eine Ressource
hi,
ich hab ein paar bilder in ner Ressource gespeichert und diese in eine dll eingebunden. die bilder kann ich auch aufrufen, allerdings wollte ich noch einige strings in diese Ressource speichern.
so siehts dann die Ressource vereinfacht aus:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| 001 BITMAP hallo1.bmp 002 BITMAP hallo2.bmp
STRINGTABLE BEGIN 01, "Servus" END |
aufrufen wollte ich den string mit LoadString() aber das funktionirt irgendwie nicht richtig. kann man das obige überhaupt miteinander kombinieren?
achja und nochwas, ist es möglich die bitmaps in der Ressource zu kommprimieren?
mfg diego
Delete - Fr 14.11.03 16:14
Titel: Re: Bitmap und Strings in eine Ressource
diego hat folgendes geschrieben: |
aufrufen wollte ich den string mit LoadString() aber das funktionirt irgendwie nicht richtig. kann man das obige überhaupt miteinander kombinieren? |
Ja, zeig doch mal deinen Code, den du versucht hast. Du solltest nach Möglichkeit nicht identische IDs benutzen. Ich bin nicht sicher ob´s daran liegt:
Quelltext
1: 2: 3:
| 001 BITMAP hallo1.bmp
01, "Servus" |
da es sich ja eigentlich um Zeichen und nicht Ziffern handelt, aber probier´s mal mit IDs wie bspw.
Quelltext
1: 2: 3:
| 1 BITMAP hallo1.bmp
1000 "Servus" |
das dürfte absolut keine Probleme verursachen.
Zitat: |
achja und nochwas, ist es möglich die bitmaps in der Ressource zu kommprimieren? |
- Wenn du die BMPs selbst verkleinern willst, probier´s mit einem RLE-fähigen Grafikprogramm. RLE (run-length encoding) ist eine Komprimierung für BMPs. Paint kann damit umgehen, allerdings kann es die Bitmaps nicht so speichern. (Warum nicht, weiß wohl nur Microsoft). Bei RLE werden identische Farbbytes zusammengefasst. PaintShop kann das bspw. Du wählst als Speicherformat BMP aus, hast aber zusätzliche Optionen, wo du RLE einstellen kannst.
- Als Alternative könntest du die Exe später mit einem Exe-Packer wie UPX komprimieren. Dadurch ist das Programm an sich kleiner und wird beim Start in den RAM entpackt.