![]() |
Pixel unter einer Geraden wiederherstellen
Hallo,
Ich habe jetzt folgendes problem beim Bearbeiten meines Bildes: Es ist ja ganz einfach, mittels moveto und lineto einen geraden Strich über ein Bild drüber zu zeichnen. Aber: Gibt es eine einfache Möglichkeit, die Pixeldaten unter diesem Strich vorher zu sichern, damit man den Strich nachher wieder wegnehmen kann und das ursprüngliche Bild wieder da ist? |
AW: Pixel unter einer Geraden wiederherstellen
Ja, kopier dir vorher den Teil unter der Linie oder das ganze Bild in ein anderes Bild (z.B. TBitMap).
Oder übermale den Punkt nicht einfach nur. Zeichne die Linie z.B. mit PenMode pmXor oder pmNotXor, denn zweimal XOR = nichts. Wird das gezeichnete nochmals gezeichnet, hebt es sich gegenseitig auf. :angle: PS: So wird z.B. auch der Auswahlrahmen gezeichnen, womit man im FormDesigner die/mehrere Komponenten auswählen kann. |
AW: Pixel unter einer Geraden wiederherstellen
Penmode pmxor - das könnte klappen.
Das ganze Bild möchte ich nicht sichern, und ausrechnen, welche Pixel von einer schrägen Geraden genau verdeckt werden und genau die sichern und nachher wiederherstellen, könnte recht aufwändig werden. |
AW: Pixel unter einer Geraden wiederherstellen
Nun ja, es ist das Rechteck zwischen dem Anfangs- und Endpunkt der Geraden. Da Du keinen Zugriff auf den exakten Algorithmus zum Zeichnen der Linie hast, wirst Du die einzelnen Pixel eh nicht kennen.
XOR ist aber gang und gäbe. Netter Nebeneffekt: Die Linie ist fast immer sichtbar, d.h. Du musst Dir über die Farbe keine Gedanken machen: Ausnahme: Mittelgrau. |
AW: Pixel unter einer Geraden wiederherstellen
Ansonsten kann man das Bild und die Linien zusätzlich speichern und nur neu in ein Ausgabebild rendern, wenn eine Linie entfernt wird. Insbesondere bei wenig zu zeichnende Linien sollte das gut funktionieren.
Ein nicht zu unterschätzender Vorteil: Es können leicht auch andere Formen/Farben/Transparents/usw. unterstützt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 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