我尝试从bmp文件加载BitmapImage。 当我加载png或jpg =>这段代码没问题。 但是当我试图加载bmp文件时 - 我得到例外。
异常信息:灾难性故障(HRESULT异常:0x8000FFFF(E_UNEXPECTED))
代码:
OpenFileDialog dialog = new OpenFileDialog()
{
Multiselect = false,
Filter = "Image(*.png; *.jpg; *.bmp;)| *.png; *.jpg; *.bmp;"
};
if( dialog.ShowDialog() == true )
{
using( System.IO.Stream stream = dialog.File.OpenRead() )
{
byte[] img = new byte[ stream.Length ];
stream.Read( img , 0, img .Length );
BitmapImage image = new BitmapImage();
image.SetSource( stream ); // Here i have the exception
itemImage.Source = image;
}
}
答案 0 :(得分:2)
Silverlight不支持Windows位图(BMP)格式。只有JPG和PNG。 使用名称BitmapImage是指通用位图术语而不是特定文件格式。
JPG是摄影图像的最佳格式,而PNG是其他图像的最佳格式,因为它具有半个不错的alpha通道支持(与位图和GIF不同)。
要加载位图文件(假设您确实需要),有关于。
的库