0

我想获得两种不同宽分辨率的等效像素位置。

这是一个例子。

在 1366x768 分辨率下,所需像素位于第 120 行和第 300 列。我想将其转换为较低的分辨率,并从原始像素到转换后的像素获得相当于 120x300 点的像素。

4

1 回答 1

1

使用百分比。

例如120/1366=60/683=x ~ 0.0878300/768=25/64= y ~ 0.3906。现在只需将这些百分比乘以您想要的分辨率。

例如,如果您有分辨率800x600并希望这个位置成倍增加。

x = 800 * 0.0878 = 70.24
y = 600 * 0.3906 = 234.36

这是有效的,因为位置有点“标准化”,所以它位于0和之间1。无论您将其乘以什么,都将具有相同的“维度”。例如,假设我们希望屏幕中的位置400x300800x600另一个屏幕中,以便它具有相同的比率。我们可以在上面对您的问题做类似的事情:

x = 400 / 800 = 0.5
y = 300 / 600 = 0.5

为了获得任何其他屏幕的位置,我们将那里的结果乘以分辨率。

百分比

于 2014-11-15T10:15:53.140 回答