如何将.gif图片保存到数据字典?
<p>请教各位高手:</p><p> 我想把硬盘上的.gif图片保存到数据字典,然后可以从数据字典中读取数据再还原到硬盘上.</p><p>可是.gif如何保存到数据字典?我是用下面的格式保存字符串等信息的,但不知道图片怎么保存,</p><p>发现有一个 AcDb::kDxfBinaryChunk类型,字面上是二进制块,不知道是保存什么类型的</p><p> AcDbDictionary *pNamedobj, *pDict;<br/> acdbHostApplicationServices()->workingDatabase()<br/> ->getNamedObjectsDictionary(pNamedobj, AcDb::kForWrite);</p><p> if (pNamedobj->getAt("ASDK_DICT", (AcDbObject*&) pDict,<br/> AcDb::kForWrite) == Acad::eKeyNotFound)<br/> {<br/> pDict = new AcDbDictionary;<br/> AcDbObjectId DictId;<br/> pNamedobj->setAt("ASDK_DICT", pDict, DictId);<br/> }<br/> pNamedobj->close();</p><p> // Add a new xrecord to the ASDK_DICT dictionary.<br/> //<br/> AcDbXrecord *pXrec = new AcDbXrecord;<br/> AcDbObjectId xrecObjId;<br/> pDict->setAt("XREC1", pXrec, xrecObjId);<br/> pDict->close();<br/> struct resbuf *pHead;<br/> DWORD flen; <br/> CFile bfile;<br/> CMemFile buffer;<br/> BYTE *psf;<br/> bfile.Open("c:\\abc.gif",CFile::modeReadWrite,NULL);<br/> flen=bfile.GetLength(); <br/> psf=(BYTE*)new char; <br/> bfile.Read(psf,flen);<br/> bfile.Close();</p><p> pHead = acutBuildList(<br/> AcDb::kDxfText,"1",<br/> //AcDb::kDxfBinaryChunk,<br/> //*psf,<br/> AcDb::kDxfInt16, <br/> *psf,</p><p> AcDb::kDxfText, <br/> "This is a test Xrecord list",<br/> AcDb::kDxfText,<br/> "DocumentId",<br/> 0);</p><p> pXrec->setFromRbChain(*pHead);</p><p> acutRelRb(pHead);<br/> pXrec->close();<br/></p> AcDb::kDxfBinaryChunk表示保存的数据是以二进制块的方式。理论上所有的数据都是由二进制方式保存。我想这种方式应该可以,你可以试试看。 问题解决,将图片文件进行BASE64编码后作为字符串存入数据字典就可以了。
页:
[1]