屏幕取色器






4.91/5 (19投票s)
2002年3月26日
1分钟阅读

95372

3315
一个简单的应用程序,可以从屏幕的任何区域获取颜色代码,并具有一些很酷的选项。
引言
颜色选择器是一个简单的应用程序,可以从桌面(包括任何正在运行的应用程序)的任何区域获取颜色代码。该程序可以通过按下 SPACE 键将该代码复制到剪贴板,格式为十六进制(0x...)或 HTML 兼容的颜色代码(#...)。即使程序失去焦点,也会显示颜色,但无法将值复制到剪贴板。您可以选择应用程序的窗口是模式(置顶)还是非模式。
最初我将窗口设置为模式。在 OnInitDialog
中SetWindowPos(&wndTopMost,0,0,0,0,SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE);
我使用定时器来刷新鼠标指针指向的当前像素的颜色代码。
SetTimer(m_nTimer,10,NULL);
要获取屏幕上任何像素的颜色代码,我们必须获取整个屏幕的设备上下文。我们可以使用
HDC hDC; hDC = CreateDC("DISPLAY",0,0,0);
CreateDC
函数通过使用其名称为设备创建一个设备上下文 (DC)。在获取整个显示的设备上下文句柄后,我们可以获取光标的位置。CPoint point; GetCursorPos(&point);最后,我们可以获取该点的颜色代码!
COLORREF color; color = GetPixel(hDC,point.x,point.y);之后,我们可以释放设备上下文:
DeleteDC(hDC);
这个应用程序对网页设计师和程序员来说也很有用。我需要这个应用程序来设计我的控件的颜色。