Перейти к содержимому
Compvision.ru
mrgloom

запись большого файла(BMP,JPG,TIF)

Recommended Posts

есть какие то сторонние библиотеки позволяющие записывать большие файлы без загрузки их полностью в память?

т.е. чтобы запись происходила кусками.

позволяют ли это стандартные библиотеки типа libtiff,libjasper и т.д.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ммм, а что значит "записывать без загрузки в память"? То есть изображение ещё не сформировано? В каком виде оно изначально представлено?

Вообще, bmp - несжатое изображение, поэтому записывать в файл его можно кусками, тут проблем не будет.

С другими форматами надо сначала получить несжатое изображение, после идёт стадия компрессии и запись на диск. Нужна именно потоковая или блочная компрессия? Потому что сжатое изображение даже большого разрешения будет занимать не так уж и много памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ммм, а что значит "записывать без загрузки в память"?

это значит, что если изображение скажем 1Гб(оно будет составлено из N изображений, часть которых в памяти и часть которых лежит на диске) я не хочу выделять под него отдельно 1Гб памяти, а хочу чтобы оно записывалось кусками на диск скажем по 100 Мб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

bmp можно так записывать - там заголовок 54 байта (структуры BITMAPFILEHEADER и BITMAPINFOHEADER), а дальше просто сырые данные. Про сжатие кусками я не в курсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну да bmp самый простой случай, ну tif тоже можно писать без компрессии.

тогда вопрос только для в JPEG.

но там же вроде берутся блоки 8х8 и считаются какие то коэффициенты, т.е. можно обрабатывать маленькими порциями.

но изначально вопрос то даже стоял как это сделать с меньшими усилиями, покопаться и исправить в тех же самых либах типа libtiff,libjasper ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×