除了是225色以下的图,一般没有必要设置调色板,直接保存颜色的RGB值,保存时,你保存的文件头和位图的信息头,设置正确吗!你可以在win中察看你的位图的属性,看看显示的信息是否与你原来的位图相符。

解决方案 »

  1.   

    我也设了,我在普通的DC中保存的位图就可以
    但是我的dc设置为
    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowOrg(0,0);
    pDC->SetWindowExt(4000,4000);
    pDC->SetViewportOrg(0,0);
    pDC->SetViewportExt(4000,4000);
    这样就不行了,就变成黑白的了
      

  2.   

    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowOrg(0,0);
    pDC->SetWindowExt(4000,4000);
    pDC->SetViewportOrg(0,0);
    pDC->SetViewportExt(4000,4000);
    CDC mdc ,mdc2;
    mdc2.CreateCompatibleDC(pDC);
    mdc.CreateCompatibleDC(&mdc2);
    CBitmap bmp;
    bmp.CreateCompatibleBitmap(&mdc2,2000,2000);
    mdc.SelectObject(&bmp);
    CPen pen,*oldpen;
    pen.CreatePen(PS_SOLID,1,RGB(0,0,255));
    oldpen=mdc.SelectObject(&pen);
    mdc.Rectangle( 0,0,600,600);
    mdc.SelectObject(oldpen);
    pDC->BitBlt(0,0,1000,1000,&mdc,0,0,SRCCOPY);
    //如果位图宽度为1000*1000,那矩形显示出来就是兰色的,2000*2000就变成黑的。