我正在从字节数组转换BitmapImage,它工作正常,除了一个特定的.tif文件。它在EndInit()中给出了一个例外:
不支持位图像素格式。 (HRESULT异常:0x88982F80)
用于将字节数组读取到BitmapImage的代码是:
public BitmapImage LoadImage(byte[] ImageData)
var image = new BitmapImage();
using (var mem = new MemoryStream(imageData))
{
mem.Position = 0;
image.BeginInit();
image.CreateOptions = BitmapCreateOptions.PreservePixelFormat;
image.CacheOption = BitmapCacheOption.OnLoad;
image.UriSource = null;
image.StreamSource = mem;
image.EndInit(); //Exception here
}
image.Freeze();
return image;
}
这是什么意思?图像在窗口中打开很好,因此它没有损坏或任何东西。有没有办法在EndInit之前将图像转换为支持的像素格式?