如何在wpf中将tiff图像存储在内存中?

时间:2015-08-19 05:47:19

标签: wpf vb.net

我想将tiff图像存储在List(超过100帧)中作为字节。我正在使用TiffBitmapDecoder解码tiff文件并转换&将每个帧作为字节存储在List中。它之间抛出System.OutOfMemoryException,我无法处理这个! 有没有办法将大图像存储在内存中?感谢。

ms = New MemoryStream(File.ReadAllBytes(FilePathName)) tiffbmpdecoderViewerImage = New TiffBitmapDecoder(ms, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default) For Each frame As BitmapFrame In tiffbmpdecoderViewerImage.Frames ms = New MemoryStream BmpEncoder = New BmpBitmapEncoder BmpEncoder.Frames.Add(frame) BmpEncoder.Save(ms) ByteArrayList.Add(ms.ToArray) //exception Next

1 个答案:

答案 0 :(得分:1)

  • 简答:" no"
  • 答案很长:不,你不能超过你的物理记忆如果你正在编译x86(怀旧很多?)你可以将你的可用RAM扩展到4 GiB:{{3 }}。我建议将您的平台切换到x64 ....现在是时候了,你已经晚了十年了
  • 您还可以对文件进行细分并单独处理每个文件......实际上并不需要同时在内存中存储所有大图像
  • 这是一篇关于x64迁移的微软文章:*click