Я работаю в системе, которая хранит много изображений в базе данных в виде байта []. Каждый байт [] уже является многостраничным TIFF, но мне нужно извлечь изображения, преобразовав их все в один многостраничный TIFF. Ранее система использовала классы System.Drawing.Image с Save и SaveAdd - это было приятно, поскольку он сохранял файл постепенно, и, следовательно, использование памяти было минимальным, однако возникли проблемы с параллелизмом GDI + - это выполняется на серверной части в COM +.
Методы были преобразованы для использования классов System.Windows.Media.Imaging, TiffBitmapDecoder и TiffBitmapEncoder, с небольшим интервалом между ними. Это решило проблему параллелизма, но я изо всех сил пытаюсь найти способ постепенного сохранения изображения (т. Е. Кадр за кадром), чтобы ограничить использование памяти, и, следовательно, размер изображений, которыми можно манипулировать, намного ниже (т. Е. Я создал тест 1.2). Изображение GB, использующее классы GDI +, и могло бы продолжаться, но могло создать файл размером ~ 600 МБ, используя другой метод).
Есть ли способ постепенно сохранить многостраничное изображение tiff, чтобы избежать проблем с памятью? Если Save вызывается в TiffBitmapEncoder более одного раза, выдается ошибка.