c# 图片转二进制/字符串 二进制/字符串反转成图片
2023-09-27 14:25:13 时间
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#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 服务器故障诊断排查工具
- C#模拟HTTP请求Post JSON
- C#基本数据类型
- C# Memcache分布式缓存简单入门
- C# 字符串格式
- 菜鸟教程-所有软件教学都有【python、java、c、c++、html、sql、css、jquery、bootstrap、vue、c#、go】
- C#图像处理-OpenCVSharp教程(五) OpenCVSharp摄像头、视频读取与保存写入
- 【C#基础】C# 程序通用结构
- C# 二进制替换第一弹 byte 数组替换
- Unity3d C#实现基于SocketIOUnity的与后端(node.js为例)Socket通信功能(含工程)
- C# AtomicBoolean
- vs2008 C# 怎么调试C++ dll
- C# 获得系统环境
- C#编写的clock