码迷,mamicode.com
首页 > Windows程序 > 详细

WPF Image控件 Source: Byte[] ,BitmapImage 相互转换

时间:2014-11-08 19:30:26      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   color   ar   os   sp   文件   

文件转为byte[]

FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
byte[] desBytes = new byte[fs.Length];
fs.Read(desBytes, 0, desBytes.Length);
fs.Close();  

 

byte[]转换为BitmapImage:

public static BitmapImage ByteArrayToBitmapImage(byte[] byteArray) 
{ 
    BitmapImage bmp = null;  
    try 
    { 
        bmp = new BitmapImage(); 
        bmp.BeginInit(); 
        bmp.StreamSource = new MemoryStream(byteArray); 
        bmp.EndInit(); 
    } 
    catch 
    { 
        bmp = null; 
    }  
    return bmp; 
}

BitmapImage转换为byte[]:

public static byte[] BitmapImageToByteArray(BitmapImage bmp) 
{ 
    byte[] byteArray = null;  
    try 
    { 
        Stream sMarket = bmp.StreamSource;  
        if (sMarket != null && sMarket.Length > 0) 
        { 
            //很重要,因为Position经常位于Stream的末尾,导致下面读取到的长度为0。 
            sMarket.Position = 0; 

            using (BinaryReader br = new BinaryReader(sMarket)) 
            { 
                byteArray = br.ReadBytes((int)sMarket.Length); 
            } 
        } 
    } 
    catch 
    { 
        //other exception handling 
    }  
    return byteArray; 
}
WriteableBitmap wb = new WriteableBitmap(img.Source as BitmapSource);//将Image对象转换为WriteableBitmap 
byte[] b = Convert.FromBase64String(GetBase64Image(wb));//得到byte数组

 

WPF Image控件 Source: Byte[] ,BitmapImage 相互转换

标签:des   style   blog   io   color   ar   os   sp   文件   

原文地址:http://www.cnblogs.com/vipsoft/p/4083825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!