Я унаследовал некоторый код, который принимает файл TIFF и сохраняет его также в формате TIFF, но со сжатием.В коде используются классы из пространства имен System.Drawing.Imaging
(в противоположность, скажем, System.Windows.Media
).
Я понимаю, как получить кодировщик сжатия, настроить параметры кодера и т. Д. Но я озадачен фрагментом ниже,Исходное изображение сохраняется в формате MemoryStream
в формате BMP, затем из изображения в формате BMP генерируется выходной TIFF:
using (var memStream = new MemoryStream())
{
image.Save(memStream, ImageFormat.Bmp);
memStream.Seek(0L, SeekOrigin.Begin);
using (var bmpImage = Image.FromStream(memStream))
{
bmpImage.Save(outputFile, tiffEncoder, encoderParams);
}
}
Что может послужить причиной для создания промежуточного изображения в формате BMP и использованиячто в качестве основы для вывода TIFF?
Обновление : речь идет о штриховых рисунках - т.е. черно-белых - и используется сжатие "CC4" (CCITT Group 4).
Полагаю, этоВозможно, что сжатие CC4 будет более эффективным, если вход находится в форме BMP.Но я думаю, что некоторая эффективность будет потеряна при промежуточном преобразовании из TIFF в BMP ...