c++ - 鼠标移动时如何从WM_MOUSEMOVE中获取每个像素坐标?

标签 c++ winapi

我正在开发一个画笔,就像 mspaint 中的画笔一样,但我无法从中获取所有像素 WM_MOUSEMOVE 当鼠标在像素上移动时,只能得到一组零散的点。

最佳答案

您可以使用 GetMouseMovePointsEx 获取最近 64 个鼠标点的历史记录,其中可能包括从未通过 WM_MOUSEMOVE 传送到您的应用的点。

但您通常可以通过忽略 WM_MOUSEMOVE 发送给您的实际鼠标位置并直接使用 GetCursorPos 查询指针位置来提高此类应用程序的性能。

无论哪种方式,您永远无法从鼠标获得足够的分辨率来绘制平滑的连接线 - 您能做的最好的事情就是在坐标之间绘制直线(甚至插入样条曲线)。

关于c++ - 鼠标移动时如何从WM_MOUSEMOVE中获取每个像素坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21619759/

相关文章:

windows编程: grab audio without the driver supporting "Stereo Mix

c - 如何释放标准图标和光标(使用 LoadIcon/Cursor(NULL, IDI/IDC_WHATEVER) 加载的图标和光标)?

c++ - 使用带有字符串的 find_first_of 而不是 C++ 中的一组预定义字符

c++ - LZ4 没有正确压缩字符串

c++ - 从陀螺仪+加速度计数据计算四元数

c++ - 使用 Win32/WINAPI 通过内存映射文件传输数据

multithreading - WaitForMultipleObjects 与 CRITICAL_SECTION

c++ - 在 C++ 中使用 return 语句退出函数

c++ - 未初始化的类调用函数,也不异常(exception)。这里发生了什么?

将鼠标位置转换为世界位置 OpenGL