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

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


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

Скорее всего тебе прийдется писать подобное самому, и при этом лезть в стандарты формирования картинок...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.