Thema: Delphi Position in einem Image

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: Position in einem Image

  Alt 28. Jul 2006, 15:02
Hi,
wenn du die Größe änderst, dann möchtest du ja sicherlich im OnMouseMove anzeigen. Damit du nun nicht jedesmal dein Shape löscht und neu zeichnest, bietet es sich an, einfach im XOR oder notXOR Mode zu zeichnen. Hierbei wird die Farbe des Stifts mit der Farbe des Hintergrundes bitweise verglichen. 1 xor 0 und 0 xor 1 ergeben 1, der Rest 0. Interessanter ist aber der Fakt, dass (a xor b) xor b = a ist. b xor b ist immer 0. a xor 0 ist 1 wenn a = 1 und 0 wenn a = 0.
Beim Zeichnen wäre dein Hintergrund a, deine Stiftfarbe b. Zeichnest du also zweimal an der gleichen Stelle, hast du den alten Hintergrund zurück.
Das heißt, dass du dir beim Mousedown die Startkoordinaten merkst und im MouseMove die aktuellen Endkoordinaten. Wird die Maus bewegt, kannst du einfach nochmal über die alten Koordinaten zeichnen (löscht das alte Shape ohne den Hintergrund zu ändern) und dann mit den neuen Koordinaten den neuen Bereich zeichnen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat