如何将system.windows.controls.image转换成字节[]

问题描述 投票:0回答:3

我需要转换 System.Windows.Controls.Imagebyte[].

如何做到这一点?

c# .net wpf silverlight
3个回答
1
投票

假设你回答了我上面的疑问,你实际上是想把一个图像转换成一个字节数组,而不是把一个图像控件转换成一个字节数组,这里是这样做的代码。

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

1
投票

一般来说,要把一个对象转换成一个字节数组,你可能想使用二进制序列化。这将产生一个内存流,你可以从中提取一个字节数组。你可以从下面开始 问与答


1
投票
System.Windows.Controls.Image img = new System.Windows.Controls.Image();
var uri = new Uri("pack://application:,,,/Images/myImage.jpg");
img.Source = new BitmapImage(uri);
byte[] arr;
using (MemoryStream ms = new MemoryStream())
{
      var bmp = img.Source as BitmapImage;
      JpegBitmapEncoder encoder = new JpegBitmapEncoder();
      encoder.Frames.Add(BitmapFrame.Create(bmp));
      encoder.Save(ms);
      arr = ms.ToArray();
}
© www.soinside.com 2019 - 2024. All rights reserved.