C#中图片、二进制与字符串的相互转换方法
程序员文章站
2024-02-08 22:14:46
本文实例讲述了c#中图片、二进制与字符串的相互转换方法。分享给大家供大家参考,具体如下:
protected void button1_click(object...
本文实例讲述了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工具:
更多关于c#相关内容感兴趣的读者可查看本站专题:《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结》
希望本文所述对大家c#程序设计有所帮助。
下一篇: C#对象与XMl文件之间的相互转换