无法解析System.Drawing.Bitmap和System.Drawing.ImageConverter

时间:2017-02-16 06:30:14

标签: c# wpf namespaces

我从某个地方借用了一行代码,Visual Studio无法解析BitmapImageConverter类引用。

我有:

using System.Drawing;

代码行是

Image x = (Bitmap)((new ImageConverter()).ConvertFrom(myImage.GetImage()));

如果我查看此页面:https://msdn.microsoft.com/en-us/library/system.drawing(v=vs.110).aspx

我看到这两个类都在我正在使用的命名空间中。有没有我做得不对的东西?我已经确认我使用的是.NET 4.5。

我已将其更改为:

byte[] foo = new byte[256];
Image x = (Bitmap)((new ImageConverter()).ConvertFrom(foo));

我仍然遇到问题。

1 个答案:

答案 0 :(得分:1)

我心中可能的原因:

你添加了参考吗? using System.Drawing;也会出错,如果您不添加,请选中this并添加此using System.Drawing;依据

将有两个名称空间使用不同的Bitmap或Image类。尝试使用System.Drawing.Bitmap

但是,System.Drawing.ImageSystem.Drawing.Bitmap是WinForms,通常不应在WPF中使用。

您应该将字节数组转换为WPF ImageSource,例如将其分配给Image控件的Source属性。

您必须使用WPF ImageSourceConverter课程,而不是ImageConverter

using System.Windows.Media;
...

byte[] foo = ...
var imageSource = (ImageSource)((new ImageSourceConverter()).ConvertFrom(foo));

image.Source = imageSource;