我在编写自己的远程桌面,在转换鼠标位置时发现转换到被控端的鼠标坐标不精确,以下是我的被控端的鼠标坐标转换代码:
float relative_x = event->mouse_x / 1280.0f;
float relative_y = event->mouse_y / 720.0f;
int x = static_cast<int>(relative_x * desk_width);
int y = static_cast<int>(relative_y * desk_height);
SetCursorPos(x, y);
上述代码将主控端中鼠标相对于窗体的坐标转换为被控端相对于屏幕左上角的坐标,其中1280和720分别是主控端窗体的宽度和高度,event->mouse_x和event->mouse_y是被控端接收到的主控端鼠标相对于窗体的坐标,请问以上代码如何修改能够更加精确的得到被控端的鼠标位置? 现在的偏差有点大。