我想获得两种不同宽分辨率的等效像素位置。
这是一个例子。
在 1366x768 分辨率下,所需像素位于第 120 行和第 300 列。我想将其转换为较低的分辨率,并从原始像素到转换后的像素获得相当于 120x300 点的像素。
我想获得两种不同宽分辨率的等效像素位置。
这是一个例子。
在 1366x768 分辨率下,所需像素位于第 120 行和第 300 列。我想将其转换为较低的分辨率,并从原始像素到转换后的像素获得相当于 120x300 点的像素。
使用百分比。
例如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
为了获得任何其他屏幕的位置,我们将那里的结果乘以分辨率。