gpt4 book ai didi

c++ - 为什么 GID_ZOOM 的中心点会改变?

转载 作者:行者123 更新时间:2023-11-28 05:07:15 27 4
gpt4 key购买 nike

一旦 Windows 缩放手势开始,为什么中心点的位置会在后续 GID_ZOOM 消息的相同手势中发生变化?

我没有触摸屏,所以我尝试模拟缩放手势。无论我在 GF_BEGIN 还是在 GF_END 中获取中心点,它都会给我相同的中心点。

然而,当我在这里查看 Windows 示例时 Microsoft-classic-samples repository, GestureEngine.cpp .他们正在通过取 2 ptsLocation(s) 的平均值重新计算中心,

        // 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 消息之前?

最佳答案

Microsoft-classic-samples forum "Location of the center of the zoom in GID_ZOOM Gesture"正是我要找的。如果有人不想通过链接,我会发布答案。

Human beings are not very good at moving two fingers at exactly the same rate outwards. There is usually some error, which can cause the center to shift slightly. (For example, when I do a pinch gesture, my index finger moves faster than my thumb.)

关于c++ - 为什么 GID_ZOOM 的中心点会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44396561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com