![]() |
【转帖】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 |
所有的时间均为北京时间。 现在的时间是 12:24 PM. |