我正在从2位图创建多页TIFF。我可以将其保存到外部文件,然后打开TIFF。但我正在尝试使用内存流做同样的事情。这是TIFF编码部分。如果不是MemoryStream ms,我使用文件字符串一切正常。
Encoder encoder = Encoder.SaveFlag;
ImageCodecInfo encoderInfo = ImageCodecInfo.GetImageEncoders().First(i => i.MimeType == "image/tiff");
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(encoder, (long)EncoderValue.MultiFrame);
// Save the first frame of the multi page tiff
Bitmap firstImage = firstBitmap;
MemoryStream ms = new MemoryStream();
firstImage.Save(ms, encoderInfo, encoderParameters);
encoderParameters.Param[0] = new EncoderParameter(encoder, (long)EncoderValue.FrameDimensionPage);
Bitmap img = secondBitmap;
firstImage.SaveAdd(img, encoderParameters);
// Close out the file
encoderParameters.Param[0] = new EncoderParameter(encoder, (long)EncoderValue.Flush);
firstImage.SaveAdd(encoderParameters);
当我尝试使用以下方法解码流时出现问题:
Bitmap bitmap = (Bitmap)Image.FromStream(ms);
我似乎丢失了TIFF编码信息。
任何帮助?