乐筑天下

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

从odDbGetPreviewBitmap()中检索HBitmap

[复制链接]

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2010-3-28 17:20:16 | 显示全部楼层 |阅读模式
您好!
我已经尝试了以下代码,但我一直得到一个黑色位图
OdThumbnailImage odImage;
OdStreamBufPtr pFile=odrxSystemServices()->createFile("c:\\Temp\\test.dwg", Oda::kFileRead, Oda::kShareDenyNo, Oda::kOpenExtive);
try
{
odDbGetPreviewBitmap(pFile,&odImage);
}
返回TRUE;
}
bool b=odImage.hasBmp();
if(b)
{
BITMAPINFO*pInfo;
pInfo=(BITMAPINFO*)(odImage.bmp.begin () );
if(! pInfo)
返回TRUE;
val*pBuffer;
=NULL)
{
...
}
}
有什么想法吗?
迈克

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2010-3-31 11:17:46 | 显示全部楼层
我已要求Bricsys支持部门帮助我解决这个问题,我遇到的一个特殊错误是odDbGetPreviewBitmap()返回的类型是BITMAPINFO Header,而不是BITMAPINFO
因此,为了解决这个问题,我必须从BITMAPINFO头变量中提取HBITMAP。
我研究了MSDN文档,发现BITMAPINFO尾变量必须转换为BITMAPINFO,并且在
使用CreateDIBSection(…)
后,根据相同的MSDN,我知道BITMAPINFO是一个包含初始BITMAPINFO头部的结构,我的问题是,我不明白如何将额外的RGBQUAD bmiColors[1]表示为下面的声明:
类型定义结构tagBITMAPINFO{
BITMAPINFO标头bmiHeader;
RGBQUAC BMIcolor[1];
}BITMAPINFO<说实话,我不明白为什么ODA不提供类似ARX-acdbGetPreviewBitmapFromDwg()的简单函数<迈克
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-3-31 11:30:43 | 显示全部楼层
我记得很久以前使用 cadwerx.net 的一个公共课程:AcadThumb
手头没有我的旧代码,但是如果我找到一些东西,会尝试发布。
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2010-3-31 14:04:10 | 显示全部楼层
我只是简单地尝试将BITMAPINFO头转换为BITMAPINFO,但我所得到的只是一个空白图像(因此我认为这种方法是错误的)
,根据MSDN,这会更加混乱http://msdn.microsoft.com/en-us/library/dd318229%28VS.85%29.aspx
如果将BITMAPINFO标头强制转换为BITMAPINFO,则bmiHeader成员将引用BITMAPINFO Header,bmiColors成员将引用颜色表中的第一个条目或第一个颜色掩码
请注意,如果位图使用颜色表或颜色掩码,则整个格式结构(BITMAPINFO标头加上颜色信息)的大小不等于sizeof(BITMAPINFOHEADER)或sizeof(BITMAPINFO)。您必须计算每个实例的实际大小。…
Ioan
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-3-31 15:35:17 | 显示全部楼层
寻找CAdwerx.net的cAcadThumb…该课程将帮助您<对不起,在这里找不到我的代码示例。<br>
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-4-1 13:44:32 | 显示全部楼层
有机会玩一下这个.bmp提取器,但不知道它会特定于您的用途:
http://www.theswamp.org/index.php?topic=32857.new
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2010-4-2 04:21:57 | 显示全部楼层
非常感谢!!!!
我会玩你的代码来适应我需要的!!
亲切的问候!
迈克
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 22:01 , Processed in 0.429431 second(s), 66 queries .

© 2020-2025 乐筑天下

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