2014-09-24 150 views
0

我有一個屏幕是1920×1080和另一個屏幕是1280×720。這兩者的寬高比都是16:9。分辨率和寬高比

我有一個機器人將鼠標移動到屏幕上的一組特定座標上;例如,我可以在屏幕1920x1080上將鼠標移動到500x720。

讓鼠標移動到與1280x720屏幕成比例的相同座標500x720的公式是什麼?

+0

是否有你使用任何編程語言? – APerson 2014-09-24 22:42:31

+0

我正在使用java – user2743711 2014-09-24 22:43:44

+0

屏幕的寬高比與它無關。你正在尋找'height1'和'height2'之間的關係 - 一個簡單的劃分(寬度相同)。 – usr2564301 2014-09-24 22:54:15

回答

2

基本上你只需要乘以比例因子的座標。下面,sxsy將是從較大屏幕轉換到較小屏幕座標的數字(在區間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/sx1/sy

+0

謝謝sooooo多少人!你是最好的 :) – user2743711 2014-09-24 22:50:34

2

m x n1920x1080 screen
m*(1280/1920) x n*(720/1080)1280x720 screen