最近在做一个关于DIB的程序,需要读入raw格式,是short行,640*480的,实在是不知该如何读取,本人菜鸟。请哪位能给吃一个程序吗?学习一下,不胜感激。。

解决方案 »

  1.   

    raw是裸数据格式,bmp是DIB。设备无关位图
      

  2.   

    raw没有头,知道高度宽度和每单元字节数顺序读就是了。有时三维数据也用raw。这时需要知道是BIP\BIL还是BSQ。
      

  3.   

    BOOL LoadRaw(UINT rawid, long nWidth, long nHeight)
    {

    m_pRaw = NULL;
    CString resName;
    resName.Format("#%d", rawid);
    HGLOBAL hRaw = LoadResource(AfxGetResourceHandle(), 
    FindResource(AfxGetResourceHandle(), resName, "RAW"));
    if (!hRaw)
    return FALSE; m_pRaw = (unsigned int*)LockResource(hRaw); if (!m_pRaw)
    return FALSE; m_nRawWidth = nWidth;
    m_nRawHeight = nHeight; return TRUE;
    }
      

  4.   

    你要知道数据的格式是怎么样的,是单色位图还是RGB都有的
    可以通过文件大小来判断是640*480 * 256呢
    还是640*480 * 25 * 3