VB获取图片的颜色百分比

发布网友

我来回答

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,直至读完所有点。
将记录绿色点的变量/图片总点数即得绿色百分比。

欢迎有更好的思路指导。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com