一个游戏的对话框。。老是获取不了里面的RGB值
不知道是不是我获得DC的方法不对?GetDC(NULL);但是QQ的截图程序又能获得对话框里的RGB值?

解决方案 »

  1.   

    给你一段程序: int x, y;
    int n=0;
    unsigned char tmp;
    unsigned char SendBuf[320][480]; CRect rect;
    GetDlgItem(IDC_PIC)->GetWindowRect(rect);
    ScreenToClient(rect); HDC hDCImage;
    HBITMAP hBmp;
    hDCImage = CreateCompatibleDC(NULL);
    if( NULL != hDCImage )
    {
    hBmp=GetSrcBit(rect);
    SelectObject(hDCImage,hBmp); for (y=0;y<320;y++)
    {
    n=0; for (x=0;x<240;x++)
    {
    COLORREF cr = GetPixel(hDCImage,x,y);
    //sl
    SendBuf[y][n]=(GetBValueX(cr)>>3) + ((GetGValueX(cr)>>2)<<5);
    n++;
    //sh
    SendBuf[y][n]=((GetRValueX(cr)>>3)<<3) + (GetGValueX(cr)>>5);
    n++;
    }
    }
                      ::DeleteDC(hDCImage); 
              }