我目前正在使用Java开发一个远程桌面应用程序,但我仍然在计算远程鼠标点击的屏幕坐标。
例如,远程计算机的分辨率为1024x768
,但呈现图像并处理点击的面板仅为800x600
。如何计算坐标,所以当我按下时在右上角的面板中,它还点击远程计算机吗?
我试过
x = clickedX / (remoteX/clickedX)
和
x = clickedX * (remoteX/clickedX)
但它似乎永远不会起作用。
感谢您的帮助。
答案 0 :(得分:0)
如果我正确了解您要执行的操作,则可以向上/向下缩放目标分辨率,以显示远程桌面的较小/较大图像。 因此,您需要使用您使用的比例因子来计算转换。
int targetWidth = 1024;
int targetHeight = 768;
int myWidth = 800;
int myHeight = 600;
double scaleX = targetWidth/myWidth;
double scaleY = targetHeight/myHeight;
double targetMouseX = myMouseX * scaleX; //
double targetMouseY = myMouseY * scaleY; //
使用targetMouseX& Y作为您的“输出”,myMouseX& Y作为您的输入,例如你的鼠标事件。