zoukankan      html  css  js  c++  java
  • WPF Image控件 Source: Byte[] ,BitmapImage 相互转换

    文件转为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; 
    }
  • 相关阅读:
    信息安全系统设计基础学习总结第二周
    一维数组求和2
    求一维数组的最大子数组的和
    第三周学习进度
    构建之法阅读笔记二
    四则运算三
    学习进度第二周
    四则运算二
    测试第二次程序
    阅读计划
  • 原文地址:https://www.cnblogs.com/vipsoft/p/4083825.html
Copyright © 2011-2022 走看看