![]() |
Image32: Bild rotieren / drehen
Hallo! =)
Hab ein kleines Graphic-Programm und benutze dabei Image32 Komponente als Zeichenfeld. Diese beinhaltet mehrere Ebenen (Layers). Problem: Ich möchte das Bild um den Mittelpunkt rotieren lassen und komm da nicht zurecht. Hab das Beispiel, das mit der Komponente mitgeliefert wird, komplett auf mein Programm übertragen und zwar - Man erstellt eine Neue Image32 Komponente (nennen wir sie mal TEST) - Der Inhalt vom Zeichenfeld wird gedrecht und in TEST eingezeichnet Ergebnis: Man sieht da zwar schon, das was gedreht wird, aber die gedrehte Fläche ist weis, das heißt, dass die Ebenen von dem Zeichenfeld wurden gar nicht berücksichtigt! Wie soll ich denn da vorgehen? Mein Ziel ist nähmlich, dass ich das komplette Bild um Mittelpunkt drehe und alle Ebenen beibehalte (schließlich wird ja da noch weitergezeichnet). Wie kann man das realisieren ohne TEST-Komponente einzuführen, sonder einfach nur den Inhalt der Zeichenfläche samt Ebenen drehen! Bin schon am Verzweifeln (es handelt sich um eine Facharbeit fürs Abi) |
Re: Image32: Bild rotieren / drehen
Transform() arbeitet ja lediglich mit TBitmap32 als Parameter. Layer sind jedoch keine Eigenschaft eines Bitmaps, sondern eines TImage32. Das heisst, dass du wohl sämtliche Layer separat drehen musst. Das dürfte jedoch nicht allzu kompliziert sein, da du ja die selbe TAffineTransformation dafür nehmen kannst. Sprich: Einfach das Image32.Bitmap drehen, und dann genau so auch über alle Layer iterieren.
Gruss, Fabian |
Re: Image32: Bild rotieren / drehen
hmmm...
aber dann meldet Delphi "Unkompatible Typen" :-/ ps: Nebenbei, wie ist es dann beim Speichern? Ich bin zwar nicht soweit, aber ist es dann auch so umständlich, wenn man einfach alle Layers als Datei speichern will? |
Re: Image32: Bild rotieren / drehen
Zitat:
Zitat:
Zudem wird es vermutlich nötig sein den Alphakanal der Layer zusätzlich als separates Bitmap für jeden Layer zu speichern, da BMP auch keine Alphakanäle an sich unterstützt. Es kann jedoch auch sein, dass diese Info in einem 32-Bit .bmp erhalten bleibt, da das nötige Byte ja an und für sich vorhanden ist. Ich würds daher erstmal einfach so probieren =) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz