乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 47|回复: 2

如何将.gif图片保存到数据字典?

[复制链接]

5

主题

10

帖子

2

银币

初来乍到

Rank: 1

铜币
30
发表于 2007-1-16 09:12:00 | 显示全部楼层 |阅读模式
请教各位高手:
  我想把硬盘上的.gif图片保存到数据字典,然后可以从数据字典中读取数据再还原到硬盘上.
可是.gif如何保存到数据字典?我是用下面的格式保存字符串等信息的,但不知道图片怎么保存,
发现有一个  AcDb::kDxfBinaryChunk类型,字面上是二进制块,不知道是保存什么类型的
     AcDbDictionary *pNamedobj, *pDict;
     acdbHostApplicationServices()->workingDatabase()
        ->getNamedObjectsDictionary(pNamedobj, AcDb::kForWrite);
    if (pNamedobj->getAt("ASDK_DICT", (AcDbObject*&) pDict,
        AcDb::kForWrite) == Acad::eKeyNotFound)
    {
        pDict = new AcDbDictionary;
        AcDbObjectId DictId;
        pNamedobj->setAt("ASDK_DICT", pDict, DictId);
    }
    pNamedobj->close();
    // Add a new xrecord to the ASDK_DICT dictionary.
    //
    AcDbXrecord *pXrec = new AcDbXrecord;
    AcDbObjectId xrecObjId;
    pDict->setAt("XREC1", pXrec, xrecObjId);
    pDict->close();
    struct resbuf *pHead;
DWORD flen;
CFile bfile;
CMemFile buffer;
BYTE *psf;
bfile.Open("c:\\abc.gif",CFile::modeReadWrite,NULL);
flen=bfile.GetLength();
psf=(BYTE*)new char[flen];
bfile.Read(psf,flen);
bfile.Close();
    pHead = acutBuildList(
  AcDb::kDxfText,"1",
  //AcDb::kDxfBinaryChunk,
  //*psf,
  AcDb::kDxfInt16,  
        *psf,
  AcDb::kDxfText,  
        "This is a test Xrecord list",
  AcDb::kDxfText,
  "DocumentId",
        0);
    pXrec->setFromRbChain(*pHead);
    acutRelRb(pHead);
    pXrec->close();
回复

使用道具 举报

0

主题

35

帖子

2

银币

初来乍到

Rank: 1

铜币
35
发表于 2007-1-17 11:30:00 | 显示全部楼层
AcDb::kDxfBinaryChunk表示保存的数据是以二进制块的方式。理论上所有的数据都是由二进制方式保存。我想这种方式应该可以,你可以试试看。
回复

使用道具 举报

5

主题

10

帖子

2

银币

初来乍到

Rank: 1

铜币
30
发表于 2007-1-19 09:11:00 | 显示全部楼层
问题解决,将图片文件进行BASE64编码后作为字符串存入数据字典就可以了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 23:51 , Processed in 0.388827 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表