计算远程桌面应用程序的屏幕坐标
Calculate screen coordinates for remote desktop application
我目前正在 Java 开发远程桌面应用程序,但我一直在计算远程鼠标点击的屏幕坐标。
比如远程电脑的分辨率是1024x768
,但是渲染图片和处理点击的面板只有800x600
。我怎么计算坐标,所以当我在右上角按我的面板,它也点击远程计算机那里?
我试过了
x = clickedX / (remoteX/clickedX)
和
x = clickedX * (remoteX/clickedX)
但似乎从来没有用过。
感谢您的帮助。
如果我正确理解你想要做什么,你正在缩放你的目标分辨率 up/down 显示远程桌面的 smaller/bigger 图像。
所以你需要用你使用的比例因子来计算变换。
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 作为您的 "output" 并将 myMouseX&Y 作为您的输入,例如你的鼠标事件。
我目前正在 Java 开发远程桌面应用程序,但我一直在计算远程鼠标点击的屏幕坐标。
比如远程电脑的分辨率是1024x768
,但是渲染图片和处理点击的面板只有800x600
。我怎么计算坐标,所以当我在右上角按我的面板,它也点击远程计算机那里?
我试过了
x = clickedX / (remoteX/clickedX)
和
x = clickedX * (remoteX/clickedX)
但似乎从来没有用过。
感谢您的帮助。
如果我正确理解你想要做什么,你正在缩放你的目标分辨率 up/down 显示远程桌面的 smaller/bigger 图像。 所以你需要用你使用的比例因子来计算变换。
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 作为您的 "output" 并将 myMouseX&Y 作为您的输入,例如你的鼠标事件。