image转string

nikolaichow 2012-07-19 11:19:01
1、将image转成string;
using (MemoryStream stream = new MemoryStream())
{
PictureBox pb = c as PictureBox;
pb.Image.Save(stream, ImageFormat.Jpeg);
byte[] by = stream.ToArray();
string s = System.Convert.ToBase64String(by);
}

2、将string保存至外部
3、读取外部string转成image,pictruebox也能显示图片

PictureBox pb = new PictureBox();
byte[] b = System.Convert.FromBase64String(xnChild.Attributes["Image"].InnerText);
using (MemoryStream ms = new MemoryStream(b))
{
Image myimge = Image.FromStream(ms);
pb.Image = myimge;
pb.BorderStyle = BorderStyle.FixedSingle;
pb.SizeMode = PictureBoxSizeMode.StretchImage;
}

4、再执行第1步,提示出错“GDI+ 中发生一般性错误。”

请问为什么?
...全文
156 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
风之影子 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

using (MemoryStream ms = new MemoryStream(b))
请勿滥用using,第三步中的using必须去掉,那个ms不能释放,一旦释放,图片将一起被释放。Image.FromXXX方法的参数必须始终保持而不释放。
[/Quote]

第一次见using的不合理运用
qldsrx 2012-07-19
  • 打赏
  • 举报
回复
using (MemoryStream ms = new MemoryStream(b))
请勿滥用using,第三步中的using必须去掉,那个ms不能释放,一旦释放,图片将一起被释放。Image.FromXXX方法的参数必须始终保持而不释放。
nikolaichow 2012-07-19
  • 打赏
  • 举报
回复
那应该怎么玩?我转成string后调用至界面图片是可以显示的

[Quote=引用 3 楼 的回复:]

谁告诉你这么做的?抽他
[/Quote]
cheng2005 2012-07-19
  • 打赏
  • 举报
回复
谁告诉你这么做的?抽他
StarlightHan 2012-07-19
  • 打赏
  • 举报
回复
http://www.docin.com/p-247187681.html
StarlightHan 2012-07-19
  • 打赏
  • 举报
回复
string 存不下了吧
  • 打赏
  • 举报
回复
直接二进制呀,转成字符串干嘛用?什么意义也没有

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧