开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1893|回复: 1
收起左侧

[C#图文教程] 将文本附加到Png图片文件末尾及读取

[复制链接]

结帖率:33% (1/3)
发表于 2013-2-18 19:27:00 | 显示全部楼层 |阅读模式   上海市上海市
  1. //===================这是将Xml文档的文本内容附加到png文件末尾的代码===========================

  2. //filename是已存在的磁盘png图片的全路径文件名

  3. using (StreamWriter sw = File.AppendText(filename))
  4. {
  5. sw.WriteLine();//这个可有可无。
  6. sw.WriteLine("<?Lunar Presentation?>");//这是为了将来再将文本读取出来而添加的一个分隔符。
  7. sw.Write(Globals.selectedEditor.XmlDocument.OuterXml);//本例中要附加到png图片文件末尾的

  8. //是一个Xml文档的全部文本内容(utf-8编码)

  9. System.Windows.MessageBox.Show("已导出为:" + filename ",
  10. "Lunar Presentation", MessageBoxButton.OK, MessageBoxImage.Information);
  11. }
  12. }

  13. //===================这是将Xml文档的文本内容附加到png文件末尾的代码============================

  14. //需要从png图片中恢复源Xml文档时,再根据自定义的标记(本例中是“<?Lunar Presentation?>”)读取出来即可。

  15. //=================这是将Xml文档的文本内容从png文件末尾再读出来的代码==========================

  16. bool start = false;//这个变量用以判断应从哪里开始读取文本(也就是找出Png图片文件尾部附加文本的开端)
  17. StringBuilder sb = new StringBuilder();
  18. using (StreamReader sr = File.OpenText(filename))
  19. {
  20. string s = "";
  21. while ((s = sr.ReadLine()) != null)
  22. {
  23. if (start == false)
  24. {
  25. if (s.EndsWith("<?Lunar Presentation?>"))//找到写入时自定义的标记就意味着下面就是附加的Xml文本了。
  26. {
  27. start = true;
  28. }

  29. continue;
  30. }

  31. sb.Append(s);//将附加的所有属于Xml文档的文本行都读取出来。
  32. }

  33. if (sb.Length <= 0)
  34. {
  35. MessageBox.Show(" 这个PNG文件可能不是由本程序导出的图片文件!无法从中获取文档内容。",
  36. "Lunar Presentation", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  37. return;
  38. }

  39. editor.XmlDocument.LoadXml(sb.ToString());//sb.ToString()的结果就是附加的Xml文档的全部内容。
  40. }

  41. //=================这是将Xml文档的文本内容从png文件末尾再读出来的代码==========================
复制代码

结帖率:100% (16/16)
发表于 2013-2-18 19:29:46 | 显示全部楼层   四川省成都市
继续  沙发
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表