C++最快获取像素值
HDC hdc, hdcTemp; RECT rect; BYTE* bitPointer; int x, y; int red, green, blue, alpha; while(true) { hdc = GetDC(HWND_DESKTOP); GetWindowRect(hWND_Desktop, &rect); int MAX_WIDTH = rect.right; int MAX_HEIGHT = rect.bottom; hdcTemp = CreateCompatibleDC(hdc); BITMAPINFO bitmap; bitmap.bmiHeader.biSize = sizeof(bitmap.bmiHeader); bitmap.bmiHeader.biWidth = MAX_WIDTH; bitmap.bmiHeader.biHeight = MAX_HEIGHT; bitmap.bmiHeader.biPlanes = 1; bitmap.bmiHeader.biBitCount = 32; bitmap.bmiHeader.biCompression = BI_RGB; bitmap.bmiHeader.biSizeImage = MAX_WIDTH * 4 * MAX_HEIGHT; bitmap.bmiHeader.biClrUsed = 0; bitmap.bmiHeader.biClrImportant = 0; HBITMAP hBitmap2 = CreateDIBSection(hdcTemp, &bitmap, DIB_RGB_COLORS, (void**)(&bitPointer), NULL, NULL); SelectObject(hdcTemp, hBitmap2); BitBlt(hdcTemp, 0, 0, MAX_WIDTH, MAX_HEIGHT, hdc, 0, 0, SRCCOPY); for (int i=0; i<(MAX_WIDTH * 4 * MAX_HEIGHT); i+=4) { red = (int)bitPointer[i]; green = (int)bitPointer[i+1]; blue = (int)bitPointer[i+2]; alpha = (int)bitPointer[i+3]; } }