crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Масштабирование с помощью колесика мышки, ?
AD
  опции профиля:
сообщение 28.5.2008, 10:43
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


На данный момент масштабирование графика реализовано также, как и в книжке Саммерфилда и Бланшета. Смысл метода заключается в том, что сохраняется предыдущий масштаб и идет при прокрутке колесика мышки на него. Меня не устраивает такая интерпретация изменения масштаба, хочется сделать обычную!. То есть, чтобы масштаб изменялся гладко и правильно.
Помогите, пожалуйста! Подскажите, пожалуйста, методы решения данной проблемы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 29.5.2008, 15:39
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я бы так доработал:
void GraphicDisplay::zoomIn(int delta)
{
    if(curZoom < (zoomStack.count() - 1))
    {
        curZoom+=delta;
        refreshPixmap();
    }
}

подобное изменение для уменьшения масштаба, правда надо проверять, чтобы curZoom не перевернулся через себя.
Ну и в обработчике событий вызывать эти функции так:
zoomIn(numTicks);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 4.6.2008, 10:31
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 29.5.2008, 16:39) *
я бы так доработал:
void GraphicDisplay::zoomIn(int delta)
{
    if(curZoom < (zoomStack.count() - 1))
    {
        curZoom+=delta;
        refreshPixmap();
    }
}

подобное изменение для уменьшения масштаба, правда надо проверять, чтобы curZoom не перевернулся через себя.
Ну и в обработчике событий вызывать эти функции так:
zoomIn(numTicks);

Не понял отличия от моего алгоритма. :) Я не знаю, как сделать такой алгоритм изменения масштаба, в котором при прокручивании мыши изменения масштаба идет плавное! Такого рода изменения масштаба можно увидеть в Google Earth. Кто может помочь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AD   Масштабирование с помощью колесика мышки   28.5.2008, 10:43
- - ViGOur   Цитата(AD @ 28.5.2008, 11:43) Меня не уст...   28.5.2008, 15:04
|- - AD   Цитата(ViGOur @ 28.5.2008, 16:04) Не совс...   28.5.2008, 15:32
- - Litkevich Yuriy   А в чем трудность, алгоритм вроде не сложный получ...   28.5.2008, 15:48
|- - AD   Цитата(Litkevich Yuriy @ 28.5.2008, 16:48...   29.5.2008, 14:25
- - Litkevich Yuriy   я бы так доработал: void GraphicDisplay::z...   29.5.2008, 15:39
|- - AD   Цитата(Litkevich Yuriy @ 29.5.2008, 16:39...   4.6.2008, 10:31
- - Litkevich Yuriy   Цитата(AD @ 4.6.2008, 14:31) Не понял отл...   4.6.2008, 10:37
|- - AD   Цитата(Litkevich Yuriy @ 4.6.2008, 11:37)...   4.6.2008, 10:50
- - Litkevich Yuriy   а в приведенном тобой коде вообще нет нистрочки о ...   4.6.2008, 10:58
|- - AD   Цитата(Litkevich Yuriy @ 4.6.2008, 11:58)...   4.6.2008, 15:51
|- - AD   Так что других алгоритмов нет? Кто-то может помочь...   9.6.2008, 10:13
- - Red Devil   Ну почему же нет. Берешь размеры изображения (шири...   9.6.2008, 11:07
|- - AD   Я дозрел до правильной формулировки задачи. Мне...   10.6.2008, 17:21
|- - AD   О_о кое какое просветление вот код, выполняющий ...   10.6.2008, 18:23
|- - AD   Блин совсем мозги плавятся от правильного определе...   17.6.2008, 11:09
- - ViGOur   Ты на бумаге попробуй все разрисуй, это помогает, ...   17.6.2008, 11:10
|- - AD   Можно задавать маленькие конкретные вопросы? Возмо...   18.6.2008, 10:12
|- - AD   Это опять я. Короче, проблема пока еще не решена. ...   30.6.2008, 10:22
- - Red Devil   Нарисуй все на бумаге, напиши формулы, выложи их з...   30.6.2008, 11:16
|- - AD   Вот так вот Искал пример использования двоичных ф...   9.7.2008, 15:40
|- - AD   Век живи, век учись! Вот так выглядит код, кот...   11.7.2008, 11:50
- - ViGOur   Молодец, осилил наконец. Упрямства тебе не заним...   11.7.2008, 11:54
|- - AD   Цитата(ViGOur @ 11.7.2008, 12:54) Молодец...   11.7.2008, 12:04
- - ViGOur   Цитата(AD @ 11.7.2008, 13:04) Может упорс...   11.7.2008, 13:06


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 2:08