POVID pDIB;
BITMAPINFO* m_pBMI;
m_pBMI = (BITMAPINFO*)pDIB;    
DWORD size = *(DWORD*)pDIB;
那位高手能解释下第3行和第四行意思。关键是(BITMAPINFO*)pDIB这么表示我不明白。
能把第一行第二行说了更好。

解决方案 »

  1.   

    (BITMAPINFO*)是强制类型转换,就是说把你的pDIB指针转化为BITMAPINFO指针类型,
    前面再加上一个*表示取指针地址存储的对象
      

  2.   

    首先了解
    PVOID      Pointer to any type. 无类型指针,可以指向任何类型的指针m_pBMI = (BITMAPINFO*)pDIB; 把pDIB强制转换为(BITMAPINFO*)
      

  3.   

    1、pDIB指向一个数据块
    2、m_pBMI指向一个位图的数据块
    3、将pDIB强制转换为位图指针并复制为m_pBMI
    4、获取数据块的第一个DWORD值,在这里就是位图头结构的大小
      

  4.   

    你看一下Bitmap文件的结构就知道了
    DWORD size = *(DWORD*)pDIB
    pDIB在转换成DWORD* ,再取指针指向的对象
      

  5.   

    应该是,第三行:将pDIB强制转换成BITMAPINFO指针类型,并将指针赋给m_pBMI;第四行:将pDIB强制转换成WORD指针类型,并将指针的内容赋给size