【问题标题】:No imaging component suitable to complete this operation was found未找到适合完成此操作的成像组件
【发布时间】:2015-10-10 00:12:48
【问题描述】:

这是我的一段代码,但我有一个错误

找不到适合完成此操作的成像组件

在“EndInit()”行中。

我已经阅读了 WIC 注册表修改(注意:我的操作系统是 Windows 7,我的 IDE 是 VS 2010)但它根本不起作用:(

我想知道你是否让我知道我该怎么做才能解决它。

BitmapImage myBitmapImage = new BitmapImage();


byte[] DM = new byte[307200];

for (int i = 0; i < 640; i++)
    for (int j = 0; j < 480; j++)
        if (i < 500)
            DM[i + j] = i;

using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(DM))
{
    myBitmapImage.BeginInit();
    myBitmapImage.StreamSource = memoryStream;
    myBitmapImage.DecodePixelWidth = 640;
    myBitmapImage.EndInit();

}

img.Source = myBitmapImage;

【问题讨论】:

  • 仅适用于 Google:此错误的德语翻译为“Es wurde keine passende Imagingkomponente zum Abschließen dieses Vorgangs gefunden.”。
  • @Uwe Keim,你最好使用:unlocalize.com

标签: c# wpf memorystream


【解决方案1】:

好吧,你不能只传入一个像素数据数组;班级无法知道图像应该具有的长度和高度、通道和颜色深度。您需要为支持的格式提供有效的标头,例如bmp、jpg 或 png。还有一些其他的,MSDN 上某处有一个列表。

由于您想从头开始创建位图,您可能想改用WritableBitmap

(顺便说一句,DecodePixelWidth 并不像你想象的那样;它只是在解码后缩小图片以节省内存)

【讨论】:

    猜你喜欢
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多