Здравствуйте.
В моей программе, записываются координаты мыши и разрешение экрана в таком формате:
100;100;1366;768
где первые два параметра координаты мыши, и вторые два, разрешение экрана.
Естественно, при переносе схемы на другой компьютер, с другим разрешением экрана,мышь при установке в эти координаты,
будет занимать другое положение на экране.
Есть ли способ или формула, для перерасчёта координат мыши, после оприделения разрешения экрана
на другом компьютере?
Может у кого есть готовая схемка?
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Тут читаем - http://forum.hiasm.net/forum.html?q=3&t=65606
Тут качаем пример от Леонид-а http://forum.hiasm.net//getfile/36729 |
|||
карма: 25 |
| ||
Голосовали: | juk |
Ответов: 902
Рейтинг: 27
|
|||
Tad, Спасибо. С Новым годом!!!
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
С Новым годом !!!
|
|||
карма: 25 |
|
Ответов: 902
Рейтинг: 27
|
|||
Tad, Это не совсем то, что мне нужно. Здесь размеры картинки неизменны.
Мнеже нужно записывать положение мыши в компоненте вэббраузера. А его размер меняется вместе с разрешением экрана. |
|||
карма: 1 |
|
Ответов: 1343
Рейтинг: 31
|
|||
карма: 2 |
| ||
файлы: 1 | code_36735.txt [2.3KB] [388] |
Ответов: 16884
Рейтинг: 1239
|
|||
juk писал(а): А его размер меняется вместе с разрешением экрана.И что даст твоя привязка к разрешению экрана ? |
|||
карма: 25 |
|
Ответов: 902
Рейтинг: 27
|
|||
И что даст твоя привязка к разрешению экрана ? Я просто не совсем понимаю, как правильно нужно сделать. В данный момент у меня так: 1.Устанавливаю мышь в нужное положение в браузере. 2.Записываю координаты мыши и положение скрола браузера в текстовый файл. 3.Закрываю программу. 4.При следующем старте программы, считываю все координаты мыши и скрола, и устанавливаю их. У меня всё работает отлично. Но вот если перенести схему на другой комп, с другим разрешением экрана, и записанными ранее координатами, то думаю, что мышь будет устанавливатся совсем в другое место? Или я не прав? ------------ Дoбавленo в 04.13: Привязка к разрешению экрана ничего конечно не даст. Сейчас в схеме у меня её нет. Это я просто для примера привёл. Думал сделать так: Записать координаты при одном разрешении экрана, и пересчитать их при переносе на другой комп. Но, чтоб программа знала при каком разрешении они были записанны, естественно нужно сохранять и разрешение. ------------ Дoбавленo в 04.18: Rysik, juk, а если изменять размеры картинки, то что то другое тут нужно? Не нужно конечно. Но, и картинка мне тоже не нужна. Параметры разрешения, думаю можно и проще узнать. Из реестра. |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
juk писал(а): Записать координаты при одном разрешении экрана, и пересчитать их при переносе на другой комп.Но, чтоб программа знала при каком разрешении они были записанны, естественно нужно сохранять и разрешение. разрешение записывать не надо. |
|||
карма: 25 |
|
Ответов: 902
Рейтинг: 27
|
|||
разрешение записывать не надо А, как это примерно можно сделать? Нет ли схемки для примера? |
|||
карма: 1 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
juk писал(а): А, как это примерно можно сделать?Делишь координату X мыши на текущую ширину экрана, получишь процент по X. Дальше делишь координату Y мыши на текущую высоту экрана, получишь процент по Y. Эти два процента и сохраняешь. Оба параметра можно умножить на 100, чтобы избавиться от дробей, но можно хранить и в дробных коэффициентах. Дальше эти проценты просто умножаешь на параметры нового разрешения (если преобразовано через умножение на 100, то на 100 и надо будет разделить потом конечный результат) |
|||
карма: 22 |
| ||
Голосовали: | juk |
Ответов: 902
Рейтинг: 27
|
|||
nesco, Спасибо, попробую.
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
juk, есть ещё один нюанс.
1. Например у тебя разрешение экрана 1366 х 768 ( у меня 1920 х 1080) и мышь установлена на х=1200 y=700 2. Где должна установиться мышь при разрешении экрана 800 х 600 ? 3. А ещё + учесть "Масштаб" 4. Математика немного сложнее чем описал nesco , но решаема. И если с координатой Х проблем "вроде" нет, то с Y ещё тот геморрой. 5. Думай именно над случаем с большего разрешения на меньшее, а с меньшего на большее решится само собой. ИМХО. |
|||
карма: 25 |
| ||
Голосовали: | juk |
Ответов: 902
Рейтинг: 27
|
|||
Tad, Блин, а я думал, что всё так просто, как nesco описал. Вот с математикой-то у меня туго.
Хотелось бы автоматизировать этот процесс, чтоб не перезаписывать каждый раз координаты на другом компе. Может всё-таки есть какая формула, чтоб просто пересчитывать координаты, имея начальное разрешение в котором они были записаны? |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Я не знаю для чего тебе это надо.
На втором компьютере может быть другие разрешение, шрифт, масштаб и сам размер окна браузера. Вот так у меня сегодня смотрится твоё сообщение. На второй половине экрана смотрю "Новости Израиля" juk_2.gif |
|||
карма: 25 |
| ||
файлы: 1 | juk_2.gif [120.2KB] [846] |