Координаты при разных разрешениях

ALEXNIK2K21

Новичок
Автор темы
12
0
Добрый вечер ребят!
Такой созрел вопрос, делаю софт, и у меня на разрешении 1920х1080 такое:
960, 840 (по иксу и игрику),
А мне нужно для 1366x768
Можно ли как-то рассчитать это? И есть ли программа, которая рассчитывает координаты из одного разрешения в другое?
 

degrando

Известный
362
127
Добрый вечер ребят!
Такой созрел вопрос, делаю софт, и у меня на разрешении 1920х1080 такое:
960, 840 (по иксу и игрику),
А мне нужно для 1366x768
Можно ли как-то рассчитать это? И есть ли программа, которая рассчитывает координаты из одного разрешения в другое?
Во всех приложениях адаптация по разному делается, нужно в ручную смотреть
 
  • Bug
Реакции: kin4stat

kin4stat

mq-team
Всефорумный модератор
2,730
4,708
Нужно разделить оригинальную координату на размер оригинального экрана - так ты получишь «часть» экрана в которой должно находится, и потом умножаешь на текущее разрешение экрана


Lua:
function ScaleX(x)
sx, sy = getScreenResolution()
return (x / 1920 * sx)
end

function ScaleY(y)
sx, sy = getScreenResolution()
return (y / 1080 * sy)
end

пример:
Lua:
imgui.SetCursorPosX(ScaleX(250))
 
  • Нравится
Реакции: legendabrn и PanSeek

ALEXNIK2K21

Новичок
Автор темы
12
0
Нужно разделить оригинальную координату на размер оригинального экрана - так ты получишь «часть» экрана в которой должно находится, и потом умножаешь на текущее разрешение экрана


Lua:
function ScaleX(x)
sx, sy = getScreenResolution()
return (x / 1920 * sx)
end

function ScaleY(y)
sx, sy = getScreenResolution()
return (y / 1080 * sy)
end

пример:
Lua:
imgui.SetCursorPosX(ScaleX(250))
посчитал на калькуляторе, с большой погрешностью выводит... У меня ахк, я брал координаты через windows spy, проверяю щас на предыдущих своих решениях, не сходится...
Образно:
У нас разрешение было такое 1920х1080,
Мы хотим перевести в 1366х768,
То, 960по иксу = 960/1920*1366?
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,708
посчитал на калькуляторе, с большой погрешностью выводит... У меня ахк, я брал координаты через windows spy, проверяю щас на предыдущих своих решениях, не сходится...
Образно:
У нас разрешение было такое 1920х1080,
Мы хотим перевести в 1366х768,
То, 960по иксу = 960/1920*1366?
Ну, выходит 0.5 * 1366 = 683
 

Pizduk2277

Активный
292
33
Если берёте х371 и у269 на разрешении 1920х1080, а вам нужно 1280х1024 , то делаем иначе . 371 : 1920 = 0,193229166666667 , затем 0,193229166666667 • 1280 = 247,3333333333333 , все что после запятой мы не считаем , x и y находим по такому же алгоритму или делаем код который будет сам рассчитывать пиксели активного/фулл окна .