C #: Как мне преобразовать многостраничный TIFF через MemoryStream в одно длинное изображение?
Таким образом, я смог взять многостраничный файл TIFF и преобразовать его в одно изображение JPEG, но это выравнивает TIFF. Под сглаживанием я имею в виду, что он возвращает только первую страницу. Цель состоит в том, чтобы извлечь TIFF (через поток памяти), открыть каждую страницу TIFF и добавить ее к новому JPEG (или любому веб-изображению). Таким образом, создается одно длинное изображение для просмотра в Интернете без помощи плагина. У меня установлен MODI.dll, но я не уверен, как использовать его в этом случае, но это вариант.
Исходный код (используя FileHandler):
#region multi-page tiff to single page jpeg
var byteFiles = dfSelectedDocument.File.FileBytes; // <-- FileBytes is a byte[] or byte array source.
byte[] jpegBytes;
using( var inStream = new MemoryStream( byteFiles ) )
using( var outStream = new MemoryStream() ) {
System.Drawing.Image.FromStream( inStream ).Save( outStream, ImageFormat.Jpeg );
jpegBytes = outStream.ToArray();
}
context.Response.ContentType = "image/JPEG";
context.Response.AddHeader( "content-disposition",
string.Format( "attachment;filename=\"{0}\"",
dfSelectedDocument.File.FileName.Replace( ".tiff", ".jpg" ) )
);
context.Response.Buffer = true;
context.Response.BinaryWrite( jpegBytes );
#endregion