2017-06-06 66 views
-2

一旦Windows縮放手勢啓動,爲什麼中心點的位置會以後續GID_ZOOM消息的相同手勢改變?我沒有觸摸屏,但是我嘗試模擬縮放手勢,並且它給了我相同的中心點,無論我是否獲得GF_BEGIN或GF_END中的中心點,但是我在這裏查看了Windows樣本Sample。他們正在重新計算,採取2 ptsLocation(S)的平均中心,爲什麼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;  

但我不知道爲什麼會plsLocation變化爲同一姿勢,即我們收到GF_END消息之前?你能幫我麼 ? TIA

+0

代碼的作者**決定**更新每個輸入的縮放中心。他們可以自由地這樣做。他們本可以決定一次計算中心,並保持整個手勢。兩種實現都表現出稍微不同的行爲這個問題就像問,爲什麼汽車以不同的顏色銷售。 – IInspectable

+0

和那個略有不同的行爲是什麼? – PrashantKumarNirmal

+0

中心在整個手勢中移動或停留在一個固定(屏幕)位置。 – IInspectable

回答

0

This正是我在找的東西。如果有人不想通過鏈接,我發佈了答案。

人類並不擅長以兩個完全相同的速度向外移動兩個手指。通常會有一些錯誤,這可能會導致中心輕微轉移。 (例如,當我做一個捏手勢,我的食指移動比我的拇指快。)

相關問題