C 動態獲取滑鼠位置的顏色

2021-06-06 05:22:22 字數 1025 閱讀 1700

像螢幕取色工具那樣,該如何獲取該座標,該點的顏色值呢,這裡還是利用原生態的api方法來實現。

api宣告:

/// /// 

獲取指定視窗的裝置場景

///

///

將獲取其裝置場景的視窗的控制代碼。若為0,則要獲取整個螢幕的dc

///

指定視窗的裝置場景控制代碼,出錯則為0

[dllimport("user32.dll")]

public static extern

intptr getdc(intptr hwnd);

/// ///

釋放由呼叫getdc函式獲取的指定裝置場景

///

///

要釋放的裝置場景相關的視窗控制代碼

///

要釋放的裝置場景控制代碼

///

執行成功為1,否則為0

[dllimport("user32.dll")]

public static extern

int32 releasedc(intptr hwnd, intptr hdc);

/// ///

在指定的裝置場景中取得乙個畫素的rgb值

///

///

乙個裝置場景的控制代碼

///

邏輯座標中要檢查的橫座標

///

邏輯座標中要檢查的縱座標

///

指定點的顏色

[dllimport("gdi32.dll")]

public static extern uint getpixel(intptr hdc, int nxpos, int nypos);

使用:

public 

color getcolor(int x, int y)

這裡的引數x,y,就是我們獲取到的滑鼠座標。傳送門:c#_動態獲取滑鼠座標

C 動態獲取滑鼠位置的顏色

api宣告 獲取指定視窗的裝置場景 將獲取其裝置場景的視窗的控制代碼。若為0,則要獲取整個螢幕的dc 指定視窗的裝置場景控制代碼,出錯則為0 dllimport user32.dll public static extern intptr getdc intptr hwnd 釋放由呼叫getdc函式...

C 動態獲取滑鼠位置的顏色

api宣告 獲取指定視窗的裝置場景 將獲取其裝置場景的視窗的控制代碼。若為0,則要獲取整個螢幕的dc 指定視窗的裝置場景控制代碼,出錯則為0 dllimport user32.dll public static extern intptr getdc intptr hwnd 釋放由呼叫getdc函式...

c 獲取滑鼠位置的顏色

基本思路 由於從dc中獲取顏色的方法有一定的問題,有些情況下不能很好的支援。所以採用影象的方式。1 從螢幕上獲取螢幕的影象。2 從影象上獲取座標點的顏色。話不多說,直接上 public partial class form1 form private void button1 click objec...