WPF中Image控件,命名空间为:System.Windows.Media.ImageSource
BitmapSource:命名空间为:System.Windows.Media.Imaging 继承ImageSource,可直接转换成ImageSource类型;
ImageSource 转byte[]数组 功能实现
xaml前端使用Image控件,绑定图象数据
<Image x:Name="Img_name" Width="80" Height="80" Stretch="Fill"/>
后台数据转换实现代码:
if(Img_name.Source != null)
{
WriteableBitmap wb = new WriteableBitmap((BitmapSource)Img_name.Source);
byte[] image_data = SourceToArray(wb);
config.Logo = image_data;
}
public static byte[] SourceToArray(WriteableBitmap source)
{
byte[] byteArray = null;
try
{
using (MemoryStream ms = new MemoryStream())
{
JpegBitmapEncoder coder = new JpegBitmapEncoder();
coder.QualityLevel = 100;
coder.Frames.Add(BitmapFrame.Create(source));
coder.Save(ms);
byteArray = ms.ToArray();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
return byteArray;
}
**************************************************************************************************************