发布网友
共3个回答
热心网友
什么叫绿颜色的比。。。你所谓的绿色的RGB值或者又是哪个HSV又是哪个范围的?这些都没有,怎么给你写代码
热心网友
绿色有很多种,要哪种
依照楼上思路,我这设置像素点Rgb值中G=255的绿色那种
Private Sub Command1_Click()
Dim S As Long, R As Long, G As Long, B As Long
For I = 0 To Picture1.ScaleWidth - 1
For J = 0 To Picture1.ScaleHeight - 1
S = Picture1.Point(I, J)
Call GetRGB(S, R, G, B)
If G = 255 Then Sum = Sum + 1
Next
Next
MsgBox Sum / (Picture1.Width * Picture1.Height) * 100 & "%"
End Sub
Private Sub GetRGB(Se As Long, R As Long, G As Long, B As Long)
Dim xx As String
xx = Hex(Se)
R = Len(xx)
If R < 6 Then xx = String(6 - R, "0") & xx
B = "&H" & Left(xx, 2)
G = "&H" & Mid(xx, 3, 2)
R = "&H" & Mid(xx, 5, 2)
End Sub
热心网友
这个问题会用到API函数。
写个思路:
得在图形大小,即picture1大小,然后从左上至右下逐点取颜色,如果为绿色则在变量中加1,直至读完所有点。
将记录绿色点的变量/图片总点数即得绿色百分比。
欢迎有更好的思路指导。