关于IDIB接口的使用

wings4ever 2008-11-12 10:17:31
我现在在BUFFER里有<没有头信息的BMP数据>

大体看了一下 貌似要把这数据显示出来要用到IDIB库

谁能给我举个例子
...全文
744 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
FLYUP_CHEN 2009-02-17
  • 打赏
  • 举报
回复
做强制类型转换就可以了
wings4ever 2008-11-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hanjiting 的回复:]
好像有个bltin 、bltout的接口,
ibitmap接口里面好像还有个comp..用来转换bmp和IDIB的接口。
到APIReference里面找找看吧
好久不用记不住了。
[/Quote]

我只知道IDIB_TO_BITMAP是把IDIB接口转成IBITMAP

BLTIN只能对BITMAP接口进行操作 怎么对IDIB进行操作呢
hanjiting 2008-11-16
  • 打赏
  • 举报
回复
好像有个bltin 、bltout的接口,
ibitmap接口里面好像还有个comp..用来转换bmp和IDIB的接口。
到APIReference里面找找看吧
好久不用记不住了。
wings4ever 2008-11-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wings4ever 的回复:]
引用 1 楼 wireless_com 的回复:
IDIB是由IBitmap派生的一个接口和数据结构。通过IDIB的数据结构成员变量可以定位位图中图像点(pixel)的位置,以及如何解析图像点的颜色值。
通过IDIB结构可以实现对位图数据的直接操作。
struct IDIB {
AEEVTBL(IBitmap) *pvt;
IQueryInterface * pPaletteMap; // cache for computed palette mapping info
byte * pBmp; // pointer to top row
uin…
[/Quote]

还有 第一个参数的IBITMAP 指针 里面有东西吗? 是指向什么的
wings4ever 2008-11-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wireless_com 的回复:]
IDIB是由IBitmap派生的一个接口和数据结构。通过IDIB的数据结构成员变量可以定位位图中图像点(pixel)的位置,以及如何解析图像点的颜色值。
通过IDIB结构可以实现对位图数据的直接操作。
struct IDIB {
AEEVTBL(IBitmap) *pvt;
IQueryInterface * pPaletteMap; // cache for computed palette mapping info
byte * pBmp; // pointer to top row
uint32 * pRGB; //…
[/Quote]

请问 要如何把信息传进IDIB那个结构里
  • 打赏
  • 举报
回复
IDIB是由IBitmap派生的一个接口和数据结构。通过IDIB的数据结构成员变量可以定位位图中图像点(pixel)的位置,以及如何解析图像点的颜色值。
通过IDIB结构可以实现对位图数据的直接操作。
struct IDIB {
AEEVTBL(IBitmap) *pvt;
IQueryInterface * pPaletteMap; // cache for computed palette mapping info
byte * pBmp; // pointer to top row
uint32 * pRGB; // palette
NativeColor ncTransparent; // 32-bit native color value
uint16 cx; // number of pixels in width
uint16 cy; // number of pixels in height
int16 nPitch; // offset from one row to the next
uint16 cntRGB; // number of palette entries
uint8 nDepth; // size of pixel in bits
uint8 nColorScheme; // IDIB_COLORSCHEME_...
uint8 reserved[6]; // initialize to 0 when constructing a DIB;
};
获得IDIB示例:
int GetDIB(IBitmap *pib, const AEERect *prc, IDIB **ppdib)
{
int nErr;
nErr = IBITMAP_QueryInterface(pib, AEECLSID_DIB, (void**)ppdib);
if (nErr == SUCCESS) {
// invalidate bitmap
if (prc) {
IBITMAP_Invalidate(pib, prc);
}
} else {
nErr = IBITMAP_QueryInterface(pib, AEECLSID_DIB_20, (void**)ppdib);
}
return nErr;
}
具体的操作,看一下IBitmap和IDIB的接口说明就可以了

949

社区成员

发帖
与我相关
我的任务
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能物联网机器学习 企业社区 北京·东城区
社区管理员
  • Qualcomm开发
  • csdnsqst0050
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧