2015-01-09 45 views
0

我正在尋找一種簡單的方法來獲取Windows 8操作系統屏幕上任意給定座標的rgb值。這是一個程序來處理並嘗試在屏幕上查找模式和對象,所以我需要的是將收集的數據放入數組中。最好的情況是像getPixelData(int x, int y)這樣的函數,然後返回顏色數據。我將編譯Visual Studio 2008中的最終程序。我沒有發現其他問題可以解決這個確切的問題,因爲它們似乎主要討論將數據寫入映像文件,或者他們沒有解釋文件訪問機制的位置數據。這是一個問題,並沒有給我確切的答案,我正在尋求,只是爲了把我的問題的背景。 How to get Pixel data \ Pixel buffer from a window and extract RGB? 如果任何人都可以幫助我,這將是非常感激,如果沒有簡單的解決方案,那麼我很好,有點困難。另外,如果您需要更多關於我的問題的信息,請詢問。我還沒有發佈任何源代碼,因爲我只是尋找代碼的補充,而不是修復已有代碼中的任何內容。獲取窗口中屏幕座標像素數據的簡單方法

回答

1

您在給出的鏈接中有一個很好的答案。該simpliest方法是使用

COLORREF GetPixel(
    HDC hdc, 
    int nXPos, 
    int nYPos 
); 

爲了讓屏幕HDC可以使用this,以及如何從COLORREF獲得RGB值是描述貝爾here

更有效的方法是將您的整個屏幕一次使用位圖,這也在您提供的鏈接中描述,但更「友好」的方法,你可以找到here

+0

我相當肯定這個函數在Windows.h頭文件中,並且建議你在你的答案中包含這個事實。如果情況並非如此,那麼請提及任何其他頭文件。 –

+0

只需要很少的努力就可以自己找到它。我建議[此](https://www.google.pl/)網站。 – Amadeusz