我有一个 1920x1080 的屏幕和另一个 1280x720 的屏幕。它们的长宽比均为 16:9。
我有一个机器人,可以将鼠标移动到屏幕上的一组特定坐标;例如,我可以在 1920x1080 的屏幕上将鼠标移动到 500x720。
让鼠标移动到与 1280x720 屏幕成比例的相同坐标 500x720 的方程是什么?
最佳答案
基本上,您只需将坐标乘以比例因子即可。下面,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
。
关于java - 分辨率和纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26027730/