首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

螢幕取色器實作:獲取任意像素的 RGB 數值

     編輯:關於VC++

三行核心 API 即可完成

  1. GetDC(NULL) 取得螢幕 DC
  2. GetCursorPos + GetPixel 取得滑鼠下像素色值
  3. GetRValue/GetGValue/GetBValue 分解 RGB

取色器介面

關鍵程式碼

HDC hDC = ::GetDC(NULL);           // 1. 螢幕 DC
CPoint pt; GetCursorPos(&pt);       // 2. 滑鼠座標
COLORREF clr = ::GetPixel(hDC, pt.x, pt.y);

CString str;
str.Format("R=%d", GetRValue(clr)); // 3. 分解顏色
str.Format("G=%d", GetGValue(clr));
str.Format("B=%d", GetBValue(clr));

::ReleaseDC(NULL, hDC);             // 釋放 DC

延伸應用

  • 搭配放大鏡功能精確取樣
  • 支援複製十六進位 #RRGGBB 格式
  • 可整合至繪圖工具、網頁設計輔助程式
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved