查看单个帖子
旧 2009-05-07, 04:25 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】strange Behavior In Oddbdatabasethumbnailbitmap

strange behavior in oddbdatabase::thumbnailbitmap
strange behavior in oddbdatabase::thumbnailbitmap
i'm attempting to extract a bitmap from a dwg with the following code fragment:
-----
oduint32 datalength = 0;
bitmapinfo* info = (bitmapinfo*)db->thumbnailbitmap(datalength);
-----
however, when thumbnailbitmap() returns, datalength is still zero and the fields inside info are non-sensical. are there additional steps that must be taken to extract a bitmap before making the call to thumbnailbitmap?
dwg (and latest dxf) may contain preview bitmap but may not.
by default preview bitmap is not loaded while loading database. this behavior can be overridden by calling oddbdatabase:: setretainoriginalthumbnailbitmap(true).
after that the preview will be loaded together with the database.
preview also can be extracted without loading the database:
oddbgetpreviewbitmap(odstreambuf*, odthumbnailimage*)
sergey slezkin
setretainoriginalthumbnailbitmap() is an instance method. how is that going to work if it can only be called once a database is loaded? at that point won't the preview image already be lost?.
code:
oddbhostappservices * pappsrvcs;
oddbdatabaseptr pdb = pappsrvcs->createdatabase(false);
pdb->setretainoriginalthumbnailbitmap(true);
pdb->readfile(...);
sergey slezkin
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)