首页 > 软件编程 > C#教程 > C#中图片、二进制与字符串的相互转换方法

C#中图片、二进制与字符串的相互转换方法

作者:smartsmile2012

这篇文章主要介绍了C#中图片、二进制与字符串的相互转换方法,涉及C#针对不同数据类型的解析与转换操作技巧,需要的朋友可以参考下

本文实例讲述了C#中图片、二进制与字符串的相互转换方法。分享给大家供大家参考,具体如下:

protected void Button1_Click(object sender, EventArgs e) //图片转二进制 byte[] imageByte = GetPictureData(Server.MapPath("./uploadfile/111.png")); //二进制转换成字符串 string picStr = Convert.ToBase64String(imageByte); //输出字符串 Response.Write(picStr); //字符串转二进制 byte[] imageBytes = Convert.FromBase64String(picStr); //读入MemoryStream对象 MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length); memoryStream.Write(imageBytes, 0, imageBytes.Length); //二进制转成图片保存 System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream); image.Save(Server.MapPath("./uploadfile/222.png")); /// <summary> /// 二进制流转图片 /// </summary> /// <param name="streamByte">二进制流</param> /// <returns>图片</returns> public System.Drawing.Image ReturnPhoto(byte[] streamByte) System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte); System.Drawing.Image img = System.Drawing.Image.FromStream(ms); return img; /// <summary> /// 图片转二进制 /// </summary> /// <param name="imagepath">图片地址</param> /// <returns>二进制</returns> public byte[] GetPictureData(string imagepath) //根据图片文件的路径使用文件流打开,并保存为byte[] FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法 byte[] byData = new byte[fs.Length]; fs.Read(byData, 0, byData.Length); fs.Close(); return byData; /// <summary> /// 图片转二进制 /// </summary> /// <param name="imgPhoto">图片对象</param> /// <returns>二进制</returns> public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto) //将Image转换成流数据,并保存为byte[] MemoryStream mstream = new MemoryStream(); imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp); byte[] byData = new Byte[mstream.Length]; mstream.Position = 0; mstream.Read(byData, 0, byData.Length); mstream.Close(); return byData;

PS:这里小编再给大家推荐本站的一款图片转BASE64格式的在线转换工具,非常具有实用价值:

在线图片转换BASE64工具:
http://tools.jb51.net/transcoding/img2base64

更多关于C#相关内容感兴趣的读者可查看本站专题:《 C#常见控件用法教程 》、《 WinForm控件用法总结 》、《 C#数据结构与算法教程 》、《 C#面向对象程序设计入门教程 》及《 C#程序设计之线程使用技巧总结

希望本文所述对大家C#程序设计有所帮助。

您可能感兴趣的文章:
  • C#如何删除指定文件或文件夹
    C#如何删除指定文件或文件夹
    2023-01-01
  • WPF中下拉框可作选择项也可以作为只读文本框使用的方法
    WPF中下拉框可作选择项也可以作为只读文本框使用的方法
    2023-02-02
  • C# dll代码混淆加密的实现
    C# dll代码混淆加密的实现
    2023-02-02
  • C# 整数转二进制字符串方式
    C# 整数转二进制字符串方式
    2023-02-02
  • C# 整数转二进制字符串方式
    C# 整数转二进制字符串方式
    2023-02-02
  • C#中关于double.ToString()的用法
    C#中关于double.ToString()的用法
    2023-02-02
  • C#如何动态创建lambda表达式
    C#如何动态创建lambda表达式
    2023-02-02
  • 一文带你快速学会C#中WinForm框架的使用详解
    一文带你快速学会C#中WinForm框架的使用详解
    2023-02-02
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号