我从某个地方借用了一行代码,Visual Studio无法解析Bitmap
或ImageConverter
类引用。
我有:
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));
我仍然遇到问题。
答案 0 :(得分:1)
我心中可能的原因:
你添加了参考吗? using System.Drawing;
也会出错,如果您不添加,请选中this并添加此using System.Drawing;
依据
将有两个名称空间使用不同的Bitmap或Image类。尝试使用System.Drawing.Bitmap
但是,System.Drawing.Image
和System.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;