1

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

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

    this.Bitmap = bitmapImage;
}

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

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

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

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

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

我试过重启我的电脑,但没有帮助。

4

1 回答 1

2

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

于 2010-11-16T21:02:56.220 回答