如何用XML来保存和导入画好的图?请大家提供思路 RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Base64的算法你搜索一下,很多的,就是用4字节的字符表示3字节的二进制数据 我不是要base64的算法,我问的是如何用XML保存你画好的图,比如你画了UML图,把它保存为XML文件,下次导入XML后,图还原。 我做的不是WEB程序,是WINDOWS程序,我知道可用序列化和反序列化,用二进制的格式保存和还原。但是现在要求用XML来保存。怎么办?有没有例子?? 是矢量图么?那可以参考SVG.http://www.w3.org/Graphics/SVG/就是保存矢量图元的各项属性.如矩形保存为<rect stroke_width="1' fill_color="0xff0000" />上述是文件格式, 所以内存中应有类似CRectangle这样的类来保存从文档中load的值,和描画等.如果是位图.可以用楼上说的Base64来保存位图的点阵信息.或另存成bmp文件, xml里只保存个路径.<image target="c:\logo.bmp" x="10" y="10" />xml的存取可以通过系统提供的xml接口完成, 方便好用.另:"你画好的图"是以什么方式存, 应说得清楚一些. 多谢老将,我画的是矢量图,但是有的图元中是直接从WINDOWS控件继承下来的,比如一个PictureBox控件,这样的控件如何用XML保存和还原呢? 其实xml文档里记录的都是些标记,完全是你自己定义的.比如定义这些元素.MyControl, 属性有 ParentCtrl<MyControl ParentCtrl="PictureBox" />关键是你怎么解释"PictureBox"字串的意义, 容易想到的作法.if( IsMyControl() ) if( strcmp(ParentCtrl, "PictureBox") == 0 ) { CWnd *pWnd; pWnd->CreateEx(...); //Use PictureBox Style. } else if(strcmp(ParentCtrl, "ComboBox") == 0 ) { .... } 怎么去掉VS2010变量函数下面的红色波浪下划线? vista 下 Activex 怎么操作文件? 已经购买数字签名了阿 用listview显示数据库运行时出错 编译direct show 里的sample BaseClasses的问题 CString 的 FF 如何转成 16 进制的FF? 推荐一个好的源码网址; 初学者的问题!(答对立即给分,在线等待) 如何复制一个链表。 大虾相救:对你来说不难. OpenGL glOrtho显示不正常,求解! 我的vs6光盘没有VSS6,谁 能告诉我一个下载的地方(包括服务器和客户端),谢谢! OnPaint()和OnDraw()到底如何使用?
怎么办?有没有例子??
那可以参考SVG.http://www.w3.org/Graphics/SVG/
就是保存矢量图元的各项属性.
如矩形保存为
<rect stroke_width="1' fill_color="0xff0000" />
上述是文件格式, 所以内存中应有类似CRectangle这样的类来保存从文档中load的值,和描画等.如果是位图.
可以用楼上说的Base64来保存位图的点阵信息.或另存成bmp文件, xml里只保存个路径.
<image target="c:\logo.bmp" x="10" y="10" />xml的存取可以通过系统提供的xml接口完成, 方便好用.另:"你画好的图"是以什么方式存, 应说得清楚一些.
比如定义这些元素.MyControl, 属性有 ParentCtrl
<MyControl ParentCtrl="PictureBox" />
关键是你怎么解释"PictureBox"字串的意义, 容易想到的作法.
if( IsMyControl() )
if( strcmp(ParentCtrl, "PictureBox") == 0 )
{
CWnd *pWnd;
pWnd->CreateEx(...); //Use PictureBox Style.
}
else if(strcmp(ParentCtrl, "ComboBox") == 0 )
{
....
}