crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QImageReader, хочу стриминг
SABROG
  опции профиля:
сообщение 17.4.2009, 18:25
Сообщение #1


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

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Хочу такую штуку. Есть картинка любого формата, но этот формат известен для QImageReader и мне не надо ничего знать о внутренней структуре файла. При этом, если я сделаю QImageReader::read(), то вся картинка целиком помещается в оперативу. Я этого не хочу, а хочу иметь возможность читать пиксели из стрима (в реалтайме с винчестера) и чтобы QImageReader сам проводил необходимые операции по распаковки и декодированию пикселей на лету. В общем сделать точно также как это делается для QTextStream/QDataStream, но для готовых пикселей и чтобы при этом в память вся картинка не загружалась. Хочу это сделать только средствами Qt.
---
Нашел другое решение:

reader.setClipRect(QRect(800, 800, 500, 500));


Т.е. говорю QImageReader'у возвратить мне кусок нужного размера (500x500) по координатам 800, 800. В диспетчере задач память аккурат жрется в зависимости от размера запрошенного куска.
---
И все-таки нет, вижу, что программа отъедает 66 мегов оперативы (загружает файл целиком), а потом освобождает ненужное.

Сообщение отредактировал SABROG - 17.4.2009, 19:14
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 18.4.2009, 20:08
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3293
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Я думаю, что скорее всего с этим никто не заморачивался, потому и решили это сделть таким простым путем (прочитал все, скопировал нужный регион, удалил ненужное).

Скорее всего тебе прийдется писать подобное самому, и при этом лезть в стандарты формирования картинок...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 30.9.2020, 19:38