用VB检测颜色

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:32:26
在同一行进行检测,检测相邻的两点的颜色代码的差别,颜色代码为#------
改成分量比较,前两位 中间两位 后两位.
例如在坐标(0,20)到(500,20)这一行中,
先比较点(0,20)与(1,20)这两个点的前两位,再比较中间两位,再比较最后两位,如果差值(取绝对值)大于40(10进制)那么输出(1,20)这个点的坐标,结束比较.如果每个都不大于40,那么再判断这3个差值的和是否大于80,如果大于80,输出(1,20)这个点的坐标,结束比较.如果不大于,那么再判断(1,20)与(2,20)这两点.一直比较到(500,20)
不知道我说的您能明白不,在这里先谢谢你了啊

Dim C1 As Long,C2 As Long,i As Integer
Dim R1 As Long,G1 As Long,B1 As Long
Dim R2 As Long,G2 As Long,B2 As Long
For i=0 to 499
C1=Point(i,20):C2=Point(i+1,20)
R1 = C1 And &HFF&
G1 = (C1 And &HFF00&) \ 256
B1 = (C1 And &HFF0000) \ 256 ^ 2
R2 = C2 And &HFF&
G2 = (C2 And &HFF00&) \ 256
B2 = (C2 And &HFF0000) \ 256 ^ 2
If Abs(B1-B2)>40 Or Abs(G1-G2)>40 Or Abs(R1-R2)>40 Then
Exit For
End If
If Abs(B1-B2)+Abs(G1-G2)+Abs(R1-R2)>80 Then Exit For
Next i
If i<=499 Then
Me.Print "(" & (i+1) & "20)"
Else
Me.Print "没有这样的点存在"
End If