Получить эквивалентный пиксель двух разных широких разрешений

Я хочу получить эквивалентное расположение пикселей в двух разных широких разрешениях.

Вот пример.

В разрешении 1366x768 нужный пиксель расположен в строке 120 и столбце 300. Я хочу преобразовать его в более низкое разрешение и получить эквивалент точки 120x300 от оригинала до преобразованного.

1 ответ

Решение

Используйте проценты.

например 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

Чтобы получить позицию для любого другого экрана, мы умножаем результат оттуда с разрешением.

процент

Другие вопросы по тегам