2017-06-06 5 views
-2

Sobald die Windows-Zoomgesten gestartet werden, ändert sich die Position des Mittelpunkts in der gleichen Geste für nachfolgende GID_ZOOM-Nachrichten. Ich habe keinen Touchscreen, aber ich habe versucht, die Zoom-Geste zu simulieren, und es gibt mir den gleichen Mittelpunkt, ob ich den Mittelpunkt in GF_BEGIN oder GF_END erhalte, aber ich schaute auf Windows-Probe hier Sample. Sie werden wieder die Berechnung der Mitte durch den Durchschnitt von 2 ptsLocation nehmen (s),Warum ändert sich der Mittelpunkt von GID_ZOOM?

 // We read here the second point of the gesture. This is middle point between 
     // fingers in this new position. 
     _ptSecond.x = gi.ptsLocation.x; 
     _ptSecond.y = gi.ptsLocation.y; 
     ScreenToClient(hWnd,&_ptSecond); 

     // We have to calculate zoom center point 
     ptZoomCenter.x = (_ptFirst.x + _ptSecond.x)/2; 
     ptZoomCenter.y = (_ptFirst.y + _ptSecond.y)/2;  

aber ich kann nicht, warum würde plsLocation Änderung für die gleiche Geste das heißt, bevor wir GF_END Nachricht erhalten? Kannst du mir bitte helfen ? TIA

+0

Der Autor des Codes ** entschied **, den Zoom-Mittelpunkt an jedem Eingang zu aktualisieren. Sie sind frei, dies zu tun. Sie hätten sich entscheiden können, das Zentrum einmal zu berechnen und es während der ganzen Geste zu behalten. Beide Implementierungen zeigen ein geringfügig anderes Verhalten. Diese Frage ist wie die Frage, warum Autos in verschiedenen Farben verkauft werden. – IInspectable

+0

und was ist das etwas anderes Verhalten? – PrashantKumarNirmal

+0

Das Zentrum bewegt sich während der gesamten Geste oder bleibt in einer festen (Bildschirm-) Position. – IInspectable

Antwort

0

This ist Genau das, was ich gesucht habe. Ich schreibe die Antwort, wenn jemand den Link nicht durchgehen möchte.

Menschen sind nicht sehr gut darin, zwei Finger mit genau der gleichen Geschwindigkeit nach außen zu bewegen. In der Regel liegt ein Fehler vor, der dazu führen kann, dass sich die Mitte etwas verschiebt. (Wenn ich zum Beispiel eine Pinch-Geste mache, bewegt sich mein Zeigefinger schneller als mein Daumen.)

Verwandte Themen