![]() |
FMX auf Bitmap invertiert zeichnen
Hallo,
wie kann ich auf einem FMX Bitmap invertiert zeichnen, so dass sich eine Linie oder ein Kreis farblich immer vom Hintergrund abhebt ? bei VCL ging es z.B. so: ![]()
Delphi-Quellcode:
image1.canvas.Pen.Mode:=pmNotXOR;
image1.Canvas.MoveTo(0,0); image1.Canvas.LineTo(100,100); |
AW: FMX auf Bitmap invertiert zeichnen
Das Stichwort wäre XOR Brush.
Scheint es aber so in Fmx nicht zu geben, müsste man wohl schlimmstenfalls selber nachbauen. ![]() ![]() Rollo |
AW: FMX auf Bitmap invertiert zeichnen
Hallo,
sollte das nicht auch mit einer eigenen Matrix funktionieren? Kenne mich damit leider nicht aus, habe jedoch ein mal was dazu gelesen, finde aber nicht viel dazu im Internet. ![]() ![]() Freundliche Grüsse |
AW: FMX auf Bitmap invertiert zeichnen
Xor ist für den Schreibmode uf dem Canvas.
Das hat mit Matrix erstmal nichts zu tun. Malst du ein Pixel kannst du normalerweise das alte überschreiben, oder mit XOR die Pixelfarbe "umdrehen". ![]() Ist zwar kein Delphi, aber kann man schön mit rumspielen :-) Edit: ![]() Rollo |
AW: FMX auf Bitmap invertiert zeichnen
Zitat:
Was meinen eigentlich die FMX-Profis hier an Bord :?: |
AW: FMX auf Bitmap invertiert zeichnen
Ja sorry, das war eher als Antwort für Milos gedacht :oops:
Ich vermute das man unter Fmx die Bitmaps selber anfassen und xor'ren muss. Mit ![]() Rollo |
AW: FMX auf Bitmap invertiert zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich würde versuchen, mich hier mal von dem VCL-Ansatz zu lösen und Dinge auf dem Firemonkey-Way zu erledigen.
Statt hier auf die Bitmap-Pixel-Ebene herabzusteigen, würde ich lieber vorhandene Mittel aus dem Firemonkey-Baukasten verwenden. Geht es wie hier anscheinend darum, ein zu zeichnendes Objekt sichtbar zu halten, auch wenn es die gleiche Farbe wie der Hintergrund hat, könnte man z.B. nur während des Zeichnungsvorgangs einen Gloweffect für das Objekt (z.B. TLine) verwenden, der dann die Umrisse vor dem Hintergrund abhebt. Anliegend mal ein Screenshot, der das verdeutlicht. Hier wird gerade eine schwarze Linie gezeichnet, die sich erkennbar auch vor dem schwarzen Hintergrund abhebt (Anmerkung: Diese Funktionalität ist in der öffentlichen MAC-Version des PixPower-Editors neben anderen Dingen noch nicht drin). |
AW: FMX auf Bitmap invertiert zeichnen
Hallo Harry,
auch gute Idee. Aber einen Firemonkey-Way habe ich auch noch, ![]() Habe nicht reingeschaut, aber ich würde schwören das hier intern auch XOR verwendet wird. Würde sich vielleicht lohnen mal zu sehen was im Code passiert. Rollo |
AW: FMX auf Bitmap invertiert zeichnen
Das nutze ich auch, wenn ich z.B. eine ganze Bitmap invertieren will.
Allerdings ist es mit einem einfachen XOR nicht getan. FMX verwendet hier einen PixelShader, Einzelheiten kann man sich in der Unit "FMX.Filter.Standard" ansehen (nach "invert" suchen). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 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