Я хочу получить эквивалентное расположение пикселей двух разных широких разрешений.
Вот пример.
В разрешении 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
Чтобы получить позицию для любого другого экрана, мы умножаем результат оттуда с разрешением.