我现在已经得到位图文件头BITMAPHEADER biHeader和位图数据unsigned char* bufRgb
请问如何将其存为一位图,有源码请发一份给我,谢谢
[email protected]

解决方案 »

  1.   

    void CBmpView::OnFileOpen() 
    {
    CBmpDoc* pDoc = GetDocument();
    BYTE * pBuffer,* temp;
    CFile  bmp;
    bmp.Open ("*.bmp",CFile::modeRead)
        bmp.Read (&(pDoc->bmpHeader_Source),14);
    bmp.Read (&(pDoc->infoHeader_Source),40);
    bmp.Seek(pDoc->bmpHeader_Source.bfOffBits ,CFile::begin);
    pBuffer  = new BYTE[pDoc->bmpHeader_Source .bfSize - pDoc->bmpHeader_Source .bfOffBits ];
       bmp.Read (pBuffer,
          pDoc->bmpHeader_Source .bfSize - pDoc->bmpHeader_Source .bfOffBits );
    temp = pBuffer;
    bmp.Close (); bmpInfo.bmiHeader = pDoc->infoHeader_Source ;
    CClientDC dc(this);/////建立客户区
    int x ,y;
    int r,g,b;
    for(y=239 ;y>=0;y--)
    for( x = 0;x<320;x++)
    {   
    r = * temp;
    g = * (temp + 1);
    b = * (temp + 2);
    temp = temp + 3;
    pDoc->bmpRGB [x][y][0] = r;
    pDoc->bmpRGB [x][y][1] = g;
    pDoc->bmpRGB [x][y][2] = b;
    pDoc->bmpSource [x][y] = (r+ g+ b)/3;
     dc.SetPixel (x+100,y+100,
              RGB(pDoc->bmpRGB [x][y][0],
          pDoc->bmpRGB [x][y][1],
      pDoc->bmpRGB [x][y][2]));

    }
    }
      

  2.   

    老兄,我是说如何将数据存储为位图文件,主要是BITMAPFILEINFO 文件头如何写