Russian Qt Forum
Июнь 16, 2024, 00:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с большими растровыми картинками  (Прочитано 10436 раз)
Vilgeforce
Гость
« : Июнь 28, 2005, 12:23 »

Скоро понадобится работать из проги на Qt с большими растровыми картинками (перемещение по картинке, изменение масштаба). Размерами в 4000x4000 и выше. Как у Qt с этим? Стоит ли его использовать или лучше сразу изобрести что-нибудь со внешними библиотеками, которые будут подготавливать нужный кусок картинки для отображения только его в Qt?
Записан
lepsai
Гость
« Ответ #1 : Июнь 28, 2005, 17:19 »

Если грамотно делать, никакиx проблем.. Нельзя злоуптреблять пиксмапами, использовать там где можно QImage и всё буде как надо.
Подоготовку изображения для показа тоже удобно делать в Qт.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Июнь 28, 2005, 22:43 »

отображай тот кусок картинки который идет на экран и на размер самой картинки можно забить
Записан
lepsai
Гость
« Ответ #3 : Июнь 28, 2005, 23:25 »

Забить, но не совсем. Проблемы будут при зумировании, так как при определённыx значенияx надо будет отображать всё изображение.
И тут будут проблемы со скоростью.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #4 : Июнь 29, 2005, 09:21 »

да с этим у нас проблемы небольшие
но если метод ближайшего соседа использовать то все рулит
Записан
lepsai
Гость
« Ответ #5 : Июнь 29, 2005, 11:03 »

Не очень понимаю, при чём тут метод ближайшего соседа и как его использовать в даном случае!?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #6 : Июнь 29, 2005, 12:10 »

есть несколько методов ресайзинга картинки
для зума

один из них метод ближайшего соседа - неточный но быстрый
Записан
lepsai
Гость
« Ответ #7 : Июнь 29, 2005, 12:20 »

Да я в курсе. То есть вы при зумировании меняете размер изображения. Я то делаю QPainter.setWorldMatrix(). И что работает у вас "на лету"? Hапример при Ctrl + MouseWheel
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #8 : Июнь 29, 2005, 23:16 »

неа я примерно делаю так

есть внутренняя структура image
мы ее ресайзим
потом выплевываем в виде QImage или на QPainter
(подробности не помню, могу уточнить)

тоесть я не пользую qt методы ресайзинга
Записан
Keiko
Гость
« Ответ #9 : Июнь 30, 2005, 02:14 »

если нужен реалтаймовый зуминг, то на QT с этим можно поиметь проблем. Выход - непереносимый MIT-SHM. Если же не нужен - то сойдёт Улыбающийся

Для масштабирования используй QImage::scale() и QImage::smoothScale()
Записан
Vilgeforce
Гость
« Ответ #10 : Июнь 30, 2005, 11:34 »

Спасибо всем ответившим. Информация к размышлению есть. Будем пробовать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.