无法从位图加载BitmapImage(附加代码)

时间:2011-10-04 09:04:04

标签: silverlight

我尝试从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;
            }
        }

1 个答案:

答案 0 :(得分:2)

Silverlight不支持Windows位图(BMP)格式。只有JPG和PNG。 使用名称BitmapImage是指通用位图术语而不是特定文件格式。

JPG是摄影图像的最佳格式,而PNG是其他图像的最佳格式,因为它具有半个不错的alpha通道支持(与位图和GIF不同)。

要加载位图文件(假设您确实需要),有关于。

的库