📄 subject_47814.htm
字号:
<p>
序号:47814 发表者:蝴蝶兰 发表日期:2003-07-24 15:54:36
<br>主题:关于串行化的问题
<br>内容:我要对一个位图进行存储,打开,如何实现串行化!<BR>Serialize()如何写
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tidy 回复日期:2003-07-24 18:46:59
<br>内容:我也在做位图的,不过什么是串行化啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蝴蝶兰 回复日期:2003-07-24 21:58:43
<br>内容:我想对一个位图进行存储,对它的状态保存,并打开,就是实现这个功能
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:sdf 回复日期:2003-07-25 10:57:15
<br>内容:我做过数据的串行化处理,你首先还是得设计数据结构,将你的位图资源保存起来,然后再拿出重新绘制,好像深入浅出中有一个保存曲线的例子,你看看啊<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:haykey 回复日期:2003-07-25 11:17:56
<br>内容:我正在做有关图形图像方面的项目。这个问题,你首先了解bitmap的数据结构。<BR>一个完整的bitmap结构是由四部分组成。 BITMAPFILEINFO,BITMAPHEADINFO,PALETTE,和真正的位图数据,即是一个自下到上,自左到右的象素组成,还得看是24位真彩或者256色的。如果是真彩,那么一个象素三个字节,分别记录b,g,r分量。API好像是GetBValue,GetGValue,GetRValue获得。如果是256色,那么一个象素一个字节,记录着它的颜色信息所在PALETTE的位置,索引(PALETTE实际上是一个一维数组,分别记录整张位图共有多少颜色)你先看相关资料吧。这个问题难就难在这里。关于序列化ar>> 或ar<<位图结构体中的每个域即可。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tidy 回复日期:2003-07-25 11:43:56
<br>内容:是很烦的,我现在在弄32位bmp位图的,不知道谁有32位bmp位图让我测试一下啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蝴蝶兰 回复日期:2003-07-26 23:00:10
<br>内容:其实我的没有这么麻烦,我先是对图的有关属性,比如长宽高,图像路径<BR>进行串行化即可,但是我的装栽位图的语句,不在Draw()里面,而是在<BR>重栽的构造函数里,所以我只有在Serialize()里面在进行图形的加载了;<BR>再问一下,对于一个Unsigned char的类型的数组,如何进行读取的串行化
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:haykey 回复日期:2003-07-28 14:55:04
<br>内容:对于unsigned char型串行化参考如下:<BR>void CTempDoc::Serialize(CArchive& ar)<BR>{<BR> unsigned long llength = ar.GetFile()->GetLength();<BR> szContent = new char[llength];<BR> if (ar.IsStoring())<BR> {<BR> // TODO: add storing code here<BR> }<BR> else<BR> {<BR> // TODO: add loading code here<BR> ar.Read(szContent, llength);<BR> }<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蝴蝶兰 回复日期:2003-07-29 13:03:59
<br>内容:还是不行阿,szContent = new char[llength];提示语法错,说不能<BR>将一个指针类型赋给一个szContent[]类型<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:haykey 回复日期:2003-07-29 15:08:59
<br>内容:szContent是我加文档类的成员,类型就是Char *szContent。:)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -