• 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;  
    }  
  • 相关阅读:
    参考网站
    GridView手写事件,包括取主键、取值、更新、选择、删除
    jQuery通过滚轮滚动动态加载图片
    web前端开发人员和设计师必读文章推荐
    ASP.NET中常用代码
    构建高性能ASP.NET站点
    css实现类似相框的阴影div的shadow效果
    乐观复制算法8. 保证内容质量
    乐观复制算法附件C一致性模型
    乐观复制算法10.总结 附件A Happensbefore关系
  • 原文地址:https://www.cnblogs.com/testsec/p/6095626.html
Copyright © 2020-2023  润新知