mkinzler hat folgendes geschrieben: |
| Du braüchtset dazu ja einen Ressourcencompiler und einen Linker, den du mitliefern müsstest. |
Ich sag mal: Nö.
Es gibt da die Funktion UpdateResource. Such mal danach. Ich guck mal, irgendwo hatte ich mal was mit gemacht.
Hier:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure BmpToRes(bmp:TBitmap;ResID:integer;FileName:string); var hres:THandle; ms:TMemoryStream; hs:integer;
begin hs:= sizeof(TBitmapFileHeader); hres:= BeginUpdateResource(PChar(FileName), false); ms:= TMemoryStream.Create; try bmp.PixelFormat:= pf4bit; bmp.SaveToStream(ms); UpdateResource(hres,RT_BITMAP,MAKEINTRESOURCE(ResID),GetSystemDefaultLangID, (PChar(ms.Memory)+hs), ms.Size-hs); finally EndUpdateResource(hres,false); ms.free; end; end; |
Bindet BMP als Ressource mit der ID ResID in FileName ein.
Irgendwas muss aber da dran komisch sein, die ist auskommentiert gewesen. Das kann aber damit zu tun haben, dass ich ein komisches Format hatte/wollte/haben musste. (Hatte es dann über ResourceHacker-Kommandozeilen-Aufrufe gelöst.)
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."