当前位置: 移动技术网 > IT编程>开发语言>c# > C#中图片、二进制与字符串的相互转换方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网