Seite 1 von 1

[Qt 4] Ermittlung der Mausposition mit hoher Genauigkeit

Verfasst: 23. November 2005 15:50
von Thomas
Hallo,

in meinem Programm brauche ich die Position des Cursors bei einem Mausklick mit Pixelbruchteilgenauigkeit. Event->pos() liefert leider nur die ganzzahligen Pixelkoordinaten.

Wie kann ich die Position mit höherer Genauigkeit ermitteln? Gibt es dazu eine Funktion oder kann mir jemand einen Tip geben, wie ich die Position mit der geforderten Genauigkeit ermitteln kann?

Danke

Thomas

Verfasst: 23. November 2005 17:35
von Goos
Hmmm.... kann man einen Mauszeiger zwischen zwei Pixeln positionieren? :D
...und wie funktioniert das dann Darstellungstechnisch?

Goos

Verfasst: 23. November 2005 18:02
von Thomas
... den Mauszeiger kann man sicher nicht zwischen zwei Pixel stellen, aber es muss möglich sein festzustellen, ob ich ein Pixel in der Mitte anklicke oder an einer anderen Stelle.

Für Bearbeitungen von Luftbildern ist eine LoKalisierung des Cursors mit einer höheren Genauigkeit als ein Pixel notwendig.

Thomas

Verfasst: 23. November 2005 18:23
von Christian81
Ich glaub du solltest dir ein eigenes Betriebssystem bauen damit du deine Aufgabe erfüllen kannst...
Hast Du überhaupt schonmal drüber nachgedacht was Du da möchtest?

Verfasst: 23. November 2005 18:45
von klogg
Thomas hat geschrieben:... den Mauszeiger kann man sicher nicht zwischen zwei Pixel stellen, aber es muss möglich sein festzustellen, ob ich ein Pixel in der Mitte anklicke oder an einer anderen Stelle. Thomas
Schau mal, die Spitze des Mauszeigers ist ein Pixel.
Der kann doch nicht nur auf dem Teil eines Pixels abgebildet werden, um z.B. ein Viertel oder so anzuklicken...
Wenn du die Maus bewegst, dann "springt" der Mauszeiger pixelweise.

Die pixelgenaue Position eines Mauszeigers IST das genauste was man wissen kann.

HENNING

Verfasst: 23. November 2005 19:15
von Thomas
... ok ihr habt recht. Ich habe vergessen, dass die Messgenauigkeit sich auf die Luftbildpixel bezieht und nicht auf den Bildschirm. War ein Missverständniss!

Thomas