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; 
    }
  • 相关阅读:
    MySQL之数据库优化
    cookie和session
    php自动加载
    php函数之strtr和str_replace的区别
    php函数之substr()
    阶段总结(一)
    json和xml
    sqlserver交换数据行中的指定列
    3 宏、条件编译
    5 常量与变量
  • 原文地址:https://www.cnblogs.com/vipsoft/p/4083825.html
Copyright © 2011-2022 走看看