c# 图片转二进制/字符串 二进制/字符串反转成图片
2016-12-29 00:00
246 查看
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; }
相关文章推荐
- C# 通过委托控制进度条以及多线程更新控件
- C# WinForm下,隐藏主窗体,只在进程管理器中显示进程,在任务栏,状态栏都不显示窗体的方法
- C#中DataTable的一些常用操作
- C#综合揭秘——细说多线程
- c#接口和抽象类比较
- c# XML和实体类之间相互转换(序列化和反序列化)
- C#中HashTable的使用
- C#-WinForm 串口通信
- C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期
- C#调用存储过程带输出参数或返回值
- 在C#中进行数据纵向不定行转横向列,多条信息成一行,例如员工薪资信息
- c# Linq操作XML,查找节点数据
- C# 将数据导出到Execl汇总
- CodeSmith(C#)简单示例及相关小知识
- C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表
- C#打印机操作类
- C#中DataTable中的Compute方法使用收集
- c#中list使用示例
- C#后台给某网址传递参数,并接收返回值
- C#局域网聊天软件 适合公司内部聊天 类qq旺旺 可实时监控桌面 商用