找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 515|回复: 4

[求助]:关于DWG图形文件预览问题 --> 急~~~

[复制链接]
发表于 2003-8-14 18:26:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
问题:用控件CDwgThumbnail 预览DWG图形文件,当文件中没有位图数据时出错!如何在不打开图形的前提下,判断文件中是否有位图数据?


解决方法:

1、前提:DWG各版本文件格式
2、找到关于位图数据的信息。
3、判断该信息后如果没有位图数据,调用 CDwgThumbnail::SetDwgFileName(NULL) 。

位图数据信息检索在R14:

如果设DWG文件的起始偏移量为0,则在第13字节处是一个长整数类型的指针,指向预览图片特征字段(sentinel)的开始位置。特征字段的长度为16字节。  
在特征字段之后,是一个4字节的长整数,它说明的是除特征字段之外整个预览图片数据的长度。  
再向下,是说明预览图片数量的一个单字节整数。如前文所述,在DWG文件中可以选择不保存预览图片,保存BMP和/或WMF预期览图片等,这一情况就由预览图片数量字节表示。
以上内容来自Autodesk技术支持。

位图数据信息检索在R2000:

如果设DWG文件的起始偏移量为0,则在0x0D字节处判断其值是否为5A,如果相等的话说明此文件没有保存位图数据。
以上内容由文件相比较而来,其可靠性无法保证,如果大家有更加权威的方法请告之,谢谢~~~。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1个

财富等级: 恭喜发财

发表于 2003-8-18 08:48:20 | 显示全部楼层
用void*
thumbnailBitmap() const;查看结果,即可知道是否有予览图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-18 09:32:20 | 显示全部楼层
用thumbnailBitmap() 函数是在程序中构造好AcDbDatabase类实例后调用才可知,在打开图形对话框中浏览图形文件时这样做是不是有些浪费~~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-18 11:33:08 | 显示全部楼层

使用简单的try catch机制就能搞定

在设置dwg路径时,使用try,如果发生错误,就到了catch中,重新设置dwg 路径就可以了,我这样使用已经调试成功!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-18 17:43:24 | 显示全部楼层
请问要接受那种类型的异常?

try{
//...
}
catch( ? )
{
//...
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 02:36 , Processed in 0.201198 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表