#c# #serialization #memory #bitmap
#c# #сериализация #память #растровое изображение
Вопрос:
Существует ли простой способ или бесплатная библиотека, которая позволит вам добавлять небольшие растровые изображения в одно большое растровое изображение в файле? Я делаю захват веб-страницы, которая иногда бывает довольно большой по вертикали. Чтобы избежать исключений из ООМ, я загружаю небольшие вертикальные фрагменты захвата по полной горизонтали в память и хотел бы сохранить их на диске. Добавление к открытому файловому потоку было бы здорово. Я не эксперт в формате растровых изображений, но я знаю, что, вероятно, есть информация в верхнем и нижнем колонтитулах, которая может помешать этому.
Ответ №1:
Информация о заголовке есть, но она фиксированного размера. Вы могли бы записать информацию заголовка, а затем добавить строки пикселей, отслеживая высоту и другую информацию. Когда вы закончите, переместите в начало файла и обновите заголовок.
Формат растрового файла — довольно хорошее описание формата.
Я бы предложил использовать формат версии 3, если только вам действительно не нужно что-то из структуры V4. с 24 битами на пиксель работать проще всего, поскольку вам не нужно возиться с цветовой палитрой. 16-и 32-разрядные цвета проще, чем 4-и 8-разрядные цвета (для которых требуется палитра).
Комментарии:
1. Спасибо, Джим, это в значительной степени то, что я предполагал, но также ценю ссылку.