我有一个1920x1080的屏幕和另一个1280x720的屏幕。它们都具有16:9的宽高比。
我有一个机器人,可以将鼠标移动到屏幕上的一组特定坐标上;例如,我可以在屏幕1920x1080上将鼠标移动到500x720。
将鼠标移动到与1280x720屏幕成比例的相同坐标500x720的等式是什么?
答案 0 :(得分:2)
基本上你只需要将坐标乘以比例因子。下面,sx
和sy
将是数字(在0-1区间内),从较大的屏幕转换为较小的屏幕坐标。
如果屏幕具有相同的宽高比,那么sx == sy
,但在一般情况下不一定如此。
>>> w1, h1 = 1920., 1080.
>>> w2, h2 = 1280., 720.
>>> sx, sy = w2/w1, h2/h1 # scale factors in horizontal and vertical dimensions
>>> x1, y1 = 500., 720.
>>> x2, y2 = sx*x1, sy*y1
>>> x2, y2
(333.3333333333333, 480.0)
顺便说一下,要转换回另一个方向,比例因子将为1/sx
和1/sy
。
答案 1 :(得分:2)
m x n
上的 1920x1080 screen
m*(1280/1920) x n*(720/1080)
1280x720 screen