AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pixel unter einer Geraden wiederherstellen

Ein Thema von idefix2 · begonnen am 1. Feb 2012 · letzter Beitrag vom 2. Feb 2012
Antwort Antwort
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Pixel unter einer Geraden wiederherstellen

  Alt 1. Feb 2012, 23:35
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Pixel unter einer Geraden wiederherstellen

  Alt 1. Feb 2012, 23:41
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.

PS: So wird z.B. auch der Auswahlrahmen gezeichnen, womit man im FormDesigner die/mehrere Komponenten auswählen kann.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Pixel unter einer Geraden wiederherstellen

  Alt 2. Feb 2012, 02:26
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.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Pixel unter einer Geraden wiederherstellen

  Alt 2. Feb 2012, 08:36
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.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

AW: Pixel unter einer Geraden wiederherstellen

  Alt 2. Feb 2012, 11:54
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz