zoukankan      html  css  js  c++  java
  • C# Byte[]、Image、Bitmap 之间的相互转换

     
    //byte[] 转图片  
    public static Bitmap BytesToBitmap(byte[] Bytes)  
            {  
                MemoryStream stream = null;  
                try  
                {  
                    stream = new MemoryStream(Bytes);  
                    return new Bitmap((Image)new Bitmap(stream));  
                }  
                catch (ArgumentNullException ex)  
                {  
                    throw ex;  
                }  
                catch (ArgumentException ex)  
                {  
                    throw ex;  
                }  
                finally  
                {  
                    stream.Close();  
                }  
            }   
      
    //图片转byte[]   
            public static byte[] BitmapToBytes(Bitmap Bitmap)  
            {  
                MemoryStream ms = null;  
                try  
                {  
                    ms = new MemoryStream();  
                    Bitmap.Save(ms, Bitmap.RawFormat);  
                    byte[] byteImage = new Byte[ms.Length];  
                    byteImage = ms.ToArray();  
                    return byteImage;  
                }  
                catch (ArgumentNullException ex)  
                {  
                    throw ex;  
                }  
                finally  
                {  
                    ms.Close();  
                }  
            }  
        }  
      
    =====================  
      
    * Stream 和 byte[] 之间的转换  
     * - - - - - - - - - - - - - - - - - - - - - - - */  
    /// <summary>  
    /// 将 Stream 转成 byte[]  
    /// </summary>  
    public byte[] StreamToBytes(Stream stream)  
    {  
        byte[] bytes = new byte[stream.Length];  
        stream.Read(bytes, 0, bytes.Length);  
      
        // 设置当前流的位置为流的开始  
        stream.Seek(0, SeekOrigin.Begin);  
        return bytes;  
    }  
      
    /// <summary>  
    /// 将 byte[] 转成 Stream  
    /// </summary>  
    public Stream BytesToStream(byte[] bytes)  
    {  
        Stream stream = new MemoryStream(bytes);  
        return stream;  
    }  
      
      
    /* - - - - - - - - - - - - - - - - - - - - - - - -  
     * Stream 和 文件之间的转换 
     * - - - - - - - - - - - - - - - - - - - - - - - */  
    /// <summary>  
    /// 将 Stream 写入文件  
    /// </summary>  
    public void StreamToFile(Stream stream,string fileName)  
    {  
        // 把 Stream 转换成 byte[]  
        byte[] bytes = new byte[stream.Length];  
        stream.Read(bytes, 0, bytes.Length);  
        // 设置当前流的位置为流的开始  
        stream.Seek(0, SeekOrigin.Begin);  
      
        // 把 byte[] 写入文件  
        FileStream fs = new FileStream(fileName, FileMode.Create);  
        BinaryWriter bw = new BinaryWriter(fs);  
        bw.Write(bytes);  
        bw.Close();  
        fs.Close();  
    }  
      
    /// <summary>  
    /// 从文件读取 Stream  
    /// </summary>  
    public Stream FileToStream(string fileName)  
    {              
        // 打开文件  
        FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);  
        // 读取文件的 byte[]  
        byte[] bytes = new byte[fileStream.Length];  
        fileStream.Read(bytes, 0, bytes.Length);  
        fileStream.Close();  
        // 把 byte[] 转换成 Stream  
        Stream stream = new MemoryStream(bytes);  
        return stream;  
    }  
     
  • 相关阅读:
    Linux的五个查找命令
    jquery mobile图片自适应屏幕
    JS定时刷新页面及跳转页面
    JavaScript-每隔5分钟执行一次ajax请求的实现方法
    jquerymobile-可折叠内容(Collapsible content)
    MVC入门教程-视图中的Layout使用
    如何利用 _ViewStart.cshtml对页面添加代码?
    检测到有潜在危险的Request.Form值
    varchar(n)和varchar(max)有什么区别
    报错:System.Data.Entity.Infrastructure.DbUpdateException 更新条目时出错
  • 原文地址:https://www.cnblogs.com/zhangwei99com/p/7756291.html
Copyright © 2011-2022 走看看