• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#Byte[]、Image、Bitmap之间的相互转换

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 
//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;  
}  
 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中Aa=newB()的意义发布时间:2022-07-10
下一篇:
C#线程调用带参数的方法发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap