屏幕颜色任意取
1.首先新建一个工程;
2.单击“工程→添加模块”;
3.在模块中添假如下代码:
Option Explicit
Type POINTAPI '定义一个坐标变量
x As Long
y As Long
End Type
4.单击“外接程序→API浏览器”,添加以下三个API函数:
Declare Function GetCursorPos Lib "user32"(lpPoint As POINTAPI)As Long
Declare Function GetDC Lib "user32"(ByVal hwnd As Long)As Long
Declare Function GetPixel Lib "gdi32"(ByVal hdc As Long,ByVal x As Long,ByVal y As Long)As Long
GetCursorPos:获取鼠标指针的当前位置;
GetDC:获取指定窗口的设备场景,若取GetDC(0),则要获取整个窗体的DC。
GetPixel:在指定的设备场景中取得一个像素的RGB值。
将以上三个API函数复制到模块中。
5.在窗体中添加1个计时器控件(Timer)、4个标签控件(Label)、1个图片框(Picture)和命令按纽(Command),如^10020502a^所示:
程序代码如下:
Option Explicit
Dim z As POINTAPI
Private Sub Command1_Click()
End
End Sub
Private Sub Timer1_Timer()
Dim a,b,c,d As Long
GetCursorPos z '得到坐标
Label1="点的位置:("&zx&":"&zy&")" '得到X坐标
Label2="y:"&zy '得到Y坐标
a=GetPixel(GetDC(0),zx,zy) '得到当前点的颜色
b=a And &HFF '分离出红色
c=(a And 65280)\256 '分离出绿色
d=(a And &HFF0000)\65536 '分离出蓝色
Label2.Caption="点的RGB("&b&","&c&","&d&")"
Label3.Caption="16进制色:0x"&Hex(a)
Label4.Caption="网页颜色:#"&Hex(a)
Picture1.BackColor=RGB(b,c,d)
End Sub
单击运行(F5),就可看见结果。怎么样,很简单吧,还不赶快动手试一试?有问题请与我联系:ccj76@163.net。