C# 如何将system.windows.controls.image转换为字节[]

C# 如何将system.windows.controls.image转换为字节[],c#,.net,wpf,silverlight,C#,.net,Wpf,Silverlight,我需要将System.Windows.Controls.Image转换为byte[] 怎么做 假设您回答了我上面的问题,您实际上是在尝试将图像转换为字节数组,而不是将图像控件转换为字节数组,下面是执行此操作的代码 public byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms,System.Drawing.Imaging.I

我需要将
System.Windows.Controls.Image
转换为
byte[]


怎么做

假设您回答了我上面的问题,您实际上是在尝试将图像转换为字节数组,而不是将图像控件转换为字节数组,下面是执行此操作的代码

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
 return  ms.ToArray();
}

假设您回答了我上面的问题,您实际上是在尝试将图像转换为字节数组,而不是将图像控件转换为字节数组,下面是实现这一点的代码

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
 return  ms.ToArray();
}

通常,要将对象转换为字节数组,可能需要使用二进制序列化。这将生成一个内存流,您可以从中提取字节数组。

通常,要将对象转换为字节数组,可能需要使用二进制序列化。这将生成一个内存流,您可以从中提取字节数组。

您可以从以下内容开始

您确定要转换的是“system.windows.controls.image”而不是它显示的“system.Drawing.image”吗?@Brian这是WPF,因此,包含实际映像的类是
System.Windows.Media.ImageSource
而不是
System.Drawing.image
您确定要转换“System.Windows.controls.image”而不是它显示的“System.Drawing.image”?@Brian这是WPF,因此,包含实际图像的类是
System.Windows.Media.ImageSource
而不是
System.Drawing.image
1)您有一个WinForms解决方案,而不是WPF解决方案2)Gif不是通用图像格式,因为它只支持8位图像。我会用png来代替。它不会返回一个字节[],里面有GIF吗?看起来这不太可能是他想要的。@codeinchaos-这个问题在哪里提到了WPF?它说的是
system.windows.controls.image
。这是一个WPF类。1)您有一个WinForms解决方案,而不是WPF解决方案2)Gif不是通用图像格式,因为它只支持8位图像。我会用png来代替。它不会返回一个字节[],里面有GIF吗?看起来这不太可能是他想要的。@codeinchaos-这个问题在哪里提到了WPF?它说的是
system.windows.controls.image
。这是一个WPF类。在我看来,
BinaryFormatter
是正确选择的地方很少有使用。在我看来,
BinaryFormatter
是正确选择的地方很少有使用。