AGB  ·  Datenschutz  ·  Impressum  







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

Genaue Position des Mausklicks in einem Canvas

Ein Thema von idefix2 · begonnen am 29. Jan 2012 · letzter Beitrag vom 30. Jan 2012
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: Genaue Position des Mausklicks in einem Canvas

  Alt 30. Jan 2012, 06:55
Die vielen Codezeilen verwirren mich.
Wenn sich ein Bild MyImage in meiner MyPaintBox befindet, und das Bild ist mit dem Zoomfactor vergrößert, dann ergibt sich doch die absolute Koordinate einer MousePos (relativ zu MyPaintBox) wie folgt:
Delphi-Quellcode:
ZoomedMousePos := ScaledPoint(MousePos, Zoomfactor) - MyImage.TopLeft; // in 'gezoomte' absolute Koordinaten umrechnen
PointOnOriginalImage := ScaledPoint (ZoomedMousePos, 1/Zoomfactor); // Absoluter Punkt im gezoomten Bild => ungezoomt.
Die Operatoren [+] und [-] auf TPoint sind bekannt, müssten aber auskodiert werden.
Die Funktion 'ScaledPoint' multipliziert die Koordinaten des Punktes mit dem Zoomfactor.

Und bei dem freundlicherweise geposteted Stück Code fällt mir als erstes auf, das die Refactoring-Funktion unbekannt zu sein scheint.
  Mit Zitat antworten Zitat
idefix2

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

AW: Genaue Position des Mausklicks in einem Canvas

  Alt 30. Jan 2012, 09:57
Danke an alle für die Antworten - Ich bin Himitsus Hinweis gefolgt und verwende jetzt statt des Events onclick den Event onmousedown, das geht mindestens genausogut und liefert mir direkt die Relativkoordinaten des Clicks - der Zoomfaktor wird in den dahinterliegenden Routinen bei mir automatisch berücksichtigt, darum brauch ich mich an der Stelle nicht zu kümmern.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Genaue Position des Mausklicks in einem Canvas

  Alt 30. Jan 2012, 10:12
Oha! Ihr habt ja im Grunde Recht - ABER:

In meinem Projekt achte ich schon auf Ordnung und auch Trennung von Daten und GUI (und nutze inzwischen auch englische Bezeichner).

Das o.g. Formular fällt da aus der Reihe und liefert einen Bildausschnitt in das "richtige Projekt" zurück. Das habe ich aus einem früheren Projekt übernommen und nicht angepasst, da es problemlos und korrekt funktioniert.

Soweit zu meiner Verteidigung
(Ich hatte es ja nur gut gemeint).


PS: Musste den Beitrag gerade nochmal schreiben, da die DP meinen ersten Beitrag mit einem Fehler abgelehnt hatte ;-(
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#4

AW: Genaue Position des Mausklicks in einem Canvas

  Alt 30. Jan 2012, 10:51
[OT]
Zitat:
da die DP meinen ersten Beitrag mit einem Fehler abgelehnt hatte
...es kommt ja auch das Wort "Verteidigung" vor... das wird erst mal grundsätzlich abglehnt
[/OT]
  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 23: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