![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
zaytsewa |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 55 Регистрация: 20.4.2011 Пользователь №: 2620 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет!
Хочется управлять зумом относительно выбранной точки, те. при приближении требуется, чтобы под курсором оставался один и тот же элемент изображения. Подскажите как и чего, пожалуйста. Сообщение отредактировал zaytsewa - 7.6.2011, 16:58 |
|
|
zaytsewa |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 55 Регистрация: 20.4.2011 Пользователь №: 2620 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
вот это не работает так как надо... |
|
|
Алексей1153 |
![]()
Сообщение
#3
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2935 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
можно попробовать так:
1) до масштабирования выяснить, на какой точке страницы находится курсор (клиентские координаты X0,Y0), а также текущий зум (Z0), текущий скролл (Sx0,Sy0) 2)задаём новый зум (Z1) 3) узнаём, куда сместилась точка , клиентские координаты нового положения: X1= X0*Z1/Z0 Y1= Y0*Z1/Z0 4) теперь нужно сдвинуться так, чтобы визуально совпали исходная точка и результат Sx1=Sx0+(X1-X0); Sy1=Sy0+(Y1-Y0); (не компилировал, не отлаживал ![]() |
|
|
zaytsewa |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 55 Регистрация: 20.4.2011 Пользователь №: 2620 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
спасиб, позже проверю
|
|
|
zaytsewa |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 55 Регистрация: 20.4.2011 Пользователь №: 2620 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
трабл был в том, что позиция курсора возвращалась в координатах приложения, а не в координатах виджета
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 2.4.2023, 12:50 |