Bilder mit eincompilieren



  • Hallo, wie kann ich Bilder mit eincompilieren sodas man sie nicht mit dem programm
    mitschicken muss sondern das sie aus der exe rausgeladen werden.
    falls es mit einer dll geht würde ich das bevorzugen

    mfg |< 0 0 |_



  • Per Resource. Erstelle 2 neue Dateien. Zuerst Resource.rh:

    #ifndef RESOURCE_RH
    #define RESOURCE_RH
    //------------------------------------------------------------
    #define RES_BMP_1    100// irgendeine Zahl
    #define RES_BMP_2    101// irgendeine Zahl
    //------------------------------------------------------------
    #endif
    

    Dann Resource.rc:

    #include Resource.rh
    //------------------------------------------------------------
    RES_BMP_1  BITMAP DISCARDABLE "MyBitmap1.bmp"
    RES_BMP_2  BITMAP DISCARDABLE "MyBitmap2.bmp"
    //------------------------------------------------------------
    

    Füge Resource.rc dem Projekt hinzu und inkludiere Resource.rh da, wo du die Konstanten RES_BMP_1 oder RES_BMP_2 brauchst. Die Bilder sind nach dem Kompilieren und Linken in der EXE mit drinne. Abrufen kannst du sie im Program mit TResourceStream. Wenn es ein Icon ist, schreibst du statt "BITMAP DISCARDABLE" einfach "ICON DISCARDABLE". Wenn es ein gif- oder ein jpg-Bild ist, wählst du "RCDATA" statt "BITMAP DISCARDABLE".



  • Hallo

    bei Bildern mit jeweils gleicher Auflösung ist auch eine TImageList interessant.

    /Edit : Außerdem kann man Bilder aus Ressourcen auch direkt mit LoadFromResource laden.

    bis bald
    akari



  • akari schrieb:

    /Edit : Außerdem kann man Bilder aus Ressourcen auch direkt mit LoadFromResource laden.

    Plus LockResource()!! Da finde ich den TResourceStream aber um einiges praktischer. Wenn man schon die VCL zur Verfügung hat, sollte man sie IMHO auch verwenden. Aus diesem Grunde finde ich deinen Vorschlag mit der TImageList (geht das eigentlich auch mit JPGs und GIFs?) auch besser als meinen. Hatte ich nicht dran gedacht.



  • Hallo

    also bei meinem BCB5 kann TImageList nur bmp und ico laden. Und in welchem Format (also mit welcher Kompression) die Bitmaps dann in der exe/dll gespeichert werden weiß ich nicht, ich vermute mal auch bmp.

    TImageList hat aber auch Nachteile : die Bitmaps müßen gleich groß sein, und um die Bitmaps zur Entwurfszeit und damit fest in Programms einzubinden muß zwingend eine Form als Owner vorhanden sein.

    bis bald
    akari


Anmelden zum Antworten