我希望获得两种不同宽分辨率的等效像素位置。
这是一个例子。
在1366×768分辨率中,期望像素位于行120和列300中。 我想将它转换为较低的分辨率,并从原始转换为转换后的120x300点。
答案 0 :(得分:1)
使用百分比。
e.g。 120/1366=60/683
= x ~ 0.0878
和300/768=25/64
= y ~ 0.3906
。现在,只需将这些百分比乘以所需的分辨率即可。
例如,如果您的分辨率为800x600
,并且希望此位置只是相乘。
x = 800 * 0.0878 = 70.24
y = 600 * 0.3906 = 234.36
这是有效的,因为该位置得到了“标准化”,因此它位于0
和1
之间。无论你将它与它相乘,都将具有相同的“尺寸”。例如假设我们希望屏幕400x300
中的位置800x600
位于另一个屏幕中,以便它具有相同的比率。我们可以在那里解决您的问题:
x = 400 / 800 = 0.5
y = 300 / 600 = 0.5
要获得任何其他屏幕的位置,我们将结果与分辨率相乘。