У меня есть приложение карты тепла и хранилище. Я храню x, y координаты щелчка, а также ширину и высоту видового экрана. Реальные данные для 2 кликов:
x, y, width, height
433, 343, 1257, 959
331, 823, 1257, 959
Проблема заключается в том, что когда я изменяю размер экрана на чувствительном сайте, отображаемые клики теперь отключены. Я нахожусь пустым в своих поисках, но есть ли формула или алгоритм для пересчета координат x и y для разных разрешений. Например, первый щелчок, если width
идет от 1257
до 990
, а height
переходит от 959
в 400
, как я пересчитываю x и y, чтобы они выстроились в строке то же место?
EDIT:
Я добавил 2 базы данных в базу данных, width_percentage и height percent
для хранения процента x
от ширины и процента от высоты t28. Так что если x
было 433, а ширина экрана составляла 1257, то x
составляла 35% от левого края экрана. Затем я использовал ту же теорию для высоты и выполнил вычисления, но не масштабировал точку щелчка в том же месте, что и я, хотя проценты будут делать для масштабирования разрешений. Я тестирую это, нажимая на ширину полного разрешения 1257, а затем снова открывая ширину 900. См. Ниже код для отображения точек щелчка при более низком разрешении.
Ajax PHP
while ($row = mysql_fetch_array($results)) {
if( $_GET['w'] < $row['width'] ) {
$xcorr = $row['width_percentage'] * $_GET['w'];
$ycorr = $row['y'];
}
}
Здесь используется переменная $_GET
, передающая ширину и высоту разрешения экрана при загрузке страницы. Затем он получает точки щелчка из базы данных как $results
. Так как я только масштабирую ширину разрешения от 1257 до 900, я не учитывал высоту и тот же пиксель, что и начальный клик. Новая ширина я умножается на процент и задает точку с процентным запасом слева от экрана. Так как процент составляет 35%
новая координата x становится 900 *.35 = 315px
от левого края. Это не сработало, и я все еще почесываю голову, чтобы держать клик в том же месте для чувствительных сайтов.