关于判断坐标颜色

kidvnet 2009-04-25 12:17:34
如何判断某坐标的颜色变为红色 自动执行某命令?? 求详细代码 小弟感激不尽
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
SYSSZ 2009-04-25
  • 打赏
  • 举报
回复
'获取鼠标处颜色
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Dim z As POINTAPI
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Command1_Click()
End
End Sub

Private Sub Timer1_Timer()
Dim a, b, c, d As Long
GetCursorPos z'这个坐标你也用别的方法赋给 GetPixel
ret = GetDC(0)
a = GetPixel(ret, z.X, z.Y)
Label5.Caption = "点的十进制颜色值:" & a
Label1.Caption = "点的位置:" & z.X & "," & z.Y
b = a And &HFF
c = (a And 65280) \ 256
d = (a And &HFF0000) \ 65356
Label2.Caption = "点的RGB(" & b & "," & c & "," & d & ")"
Label3.Caption = "16进制色:" & "Ox" & Hex(a)
Label4.Caption = "网页的颜色:#" & Hex(a)
Picture1.BackColor = RGB(b, c, d)
End Sub
SYSSZ 2009-04-25
  • 打赏
  • 举报
回复
如果是固定点就更简单:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Command1_Click()
Dim a As Long
ret = GetDC(0)
a = GetPixel(ret, 300, 300)
If (a > 250 And a <= 255) Then 'A对应的范围自己用查一下,a > 250 And a <= 255只是一个例子,色阶上很多都算红色
'…………
End If
End Sub

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧