从MemoryStream创建BitmapImage导致崩溃 - 用于工作

时间:2010-11-16 20:27:48

标签: wpf visual-studio-2010 bitmapimage

我真的很困惑。我正在创建一个带有原始字节数组的BitmapImage,如下所示:

void SetBitmapData(byte[] imageData)
{
    var bitmapImage = new BitmapImage();
    bitmapImage.BeginInit();
    bitmapImage.StreamSource = new MemoryStream(imageData);
    bitmapImage.EndInit();

    this.Bitmap = bitmapImage;
}

直到一个小时前,它起作用 - 并且已经工作了几个月。现在,在bitmapImage.EndInit()上,它给了我一个NotSupportedException - “找不到适合完成此操作的成像组件。”

我真的很困惑,因为截至今天早上,这很有效。什么也没有变。事实上,为了确保我的更改(在应用程序的完全不相关的部分中)没有导致崩溃,我使用头检查了SVN的新代码。昨天我承诺时,头部没有崩溃。这个新副本也表现出相同的行为。

它从VS崩溃并在运行可执行文件本身时崩溃。

我正在使用以下插件运行Visual Studio 2010:ReSharper,ReSharper的StyleCop,VisualSVN。

在这个开始发生之前,Visual Studio做了一些奇怪的事情 - 键盘光标消失了,但我仍然可以打字。我可以用鼠标和键盘选择多个字符,如果我点击“删除”,它们将被删除。我重新启动了Visual Studio,不可见的光标问题就消失了。

我尝试重新启动计算机,但这没有帮助。

1 个答案:

答案 0 :(得分:2)

“未找到适合完成此操作的成像组件。”当对IWICBitmapEncoder_Initialize_Proxy的调用失败时抛出。因为你的VS2010(也使用这个东西)表现得很有趣,我猜你的一些dll是软管。你最好的选择可能是询问如何在SuperUser上恢复Windowscodecs.dll和Wincodec.lib