C#中图片、二进制与字符串的相互转换方法
发布时间:2020-12-15 06:37:48 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#中图片、二进制与字符串的相互转换方法。供大家参考研究具体如下: protected void Button1_Click(object sender,EventArgs e){ //图片转二进制 byte[] imageByte = GetPictureData(Server.MapPath("./uploadfile/111.png")); //二
本篇章节讲解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,imageBytes.Length); memoryStream.Write(imageBytes,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,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,byData.Length); mstream.Close(); return byData; } PS:这里小编再给大家推荐本站的一款图片转BASE64格式的在线转换工具,非常具有实用价值: 在线图片转换BASE64工具: 更多关于C#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》 希望本文所述对大家C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |