Bitmaps dynamisch erstellen



  • Hi, ich hab schon wieder ein prob und zwar möchte ich x-beliebig viele Bitmaps dynamisch erstellen (von mir aus auch anders) mit denen ich dann auch arbeiten kann, sprich verschieben, rotieren etc. Das Picture für die Bitmap lade ich aus einer Datei. Jedes Bitmap soll jedoch hierbei als eigenständiges Objekt gesehen werden, das heißt: ich will jedes einzeln ansprechen. Die anzahl will ich bestimmen oder mir per random liefern lassen. Desweiteren möchte ich bei zerstörung der Bitmap einige Operationen durchführen.

    meine fragen sind:
    -wie kann ich die Bitmaps zeichnen lassen, ohne tausende Imagefelder auf meiner Form zu haben???

    -wie kann ich die anzahl auswählen???

    -wie kann ich sie einzeln ansprechen???

    -gibt es ein Event, dass bei der Zerstörung des Bitmaps aktiviert wird???

    mfg Philipp



  • Boneless schrieb:

    Hi, ich hab schon wieder ein prob und zwar möchte ich x-beliebig viele Bitmaps dynamisch erstellen (von mir aus auch anders) mit denen ich dann auch arbeiten kann, sprich verschieben, rotieren etc. Das Picture für die Bitmap lade ich aus einer Datei. Jedes Bitmap soll jedoch hierbei als eigenständiges Objekt gesehen werden, das heißt: ich will jedes einzeln ansprechen. Die anzahl will ich bestimmen oder mir per random liefern lassen. Desweiteren möchte ich bei zerstörung der Bitmap einige Operationen durchführen.

    meine fragen sind:
    -wie kann ich die Bitmaps zeichnen lassen, ohne tausende Imagefelder auf meiner Form zu haben???

    -wie kann ich die anzahl auswählen???

    -wie kann ich sie einzeln ansprechen???

    -gibt es ein Event, dass bei der Zerstörung des Bitmaps aktiviert wird???

    mfg Philipp

    Nö, Destruktoren haben Klassen, die Bitmap heißen, nie!



  • Gast25250 schrieb:

    Nö, Destruktoren haben Klassen, die Bitmap heißen, nie!

    keine antwort zu den anderen fragen???
    hat mir jetzt ehrlich gesagt nicht geholfen...



  • Schau dir mal die DevIL (=OpenIL) Library an.

    Mit ilLoadImage() kannst du ein Bitmap laden (und noch ganz viele andere Dateitypen).

    Mit iluScale(), iluRotate(), iluMirror(), iluFlipImage() oder zum Beispiel iluNegative() kannst du schon sehr viel mit deinem geladenen Bild anstellen.

    Das geladenene und bearbeitete Bild kannst du dann entweder im Speicher behalten und damit arbeiten oder mit ilSaveImage() einfach wieder als Datei abspeichern.

    Homepage: http://openil.sourceforge.net/
    Dokumentation: http://prdownloads.sourceforge.net/openil/Docs.zip?download



  • thx @xindon hättest ich das früher gewusst, hät ich mir den ganzen rotationsalgorhitmus sparen können.

    hast du mit der lib schon gearbeitet???

    wenn ja, könnte ich dann mit den Funktionen ilCloneCurImage oder ilCopyImage die Bitmaps kopieren und wie kann ich sie dann unterscheieden?

    ganz dumm gefragt, wie binde ich dlls ein, hab noch nie welche gebraucht...



  • Hab ich jetzt so noch nicht gemacht, aber im Grunde läuft es wie in opengl ab. Jedes Bild hat ein eigenes Handle (texture id) und du musst das binden, welches du gerade bearbeiten willst.

    In der Doku steht:

    lCloneCurImage creates a copy of the current image and returns the id of the new image. If a subimage of the current image is currently selected via ilActiveImage, ilActiveLayer or ilActiveMipmap, the subimage is copied, not the base image.

    Musst halt auf der offiziellen Seite in der Doku schauen.

    Ich selbst arbeite aber nicht in c++, sondern Java mit der Library.



  • die dlls kannstr du nich einbinden. Du musst dir das sdk von der hp ziehen, da sind .lib-dateien dabei. Die musst du in deinen projekoptionen als zusätzliche abhängigkeiten angeben. Dann wird die dll automatisch geladen


Anmelden zum Antworten