众泰t600价格:如何用vb画出污染物在河流方向的扩散图?怎样解决颜色在某一方向上逐渐变浅?

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 16:56:35
如何用vb画出污染物在河流方向的扩散图?怎样解决颜色在某一方向上逐渐变浅?

第一个问题没看明白,要怎样的扩散图?

第二个问题好解决,调用下面这个函数就可以实现
Sub PaintColor(objName As Object, sigRedUp As Single, sigGreenUp As Single, sigBlueUp As Single, sigRedDn As Single, sigGreenDn As Single, sigBlueDn As Single)
'objName表示要逐渐变浅的对象,必须支持LINE方法,推荐用PICTUREBOX
'sigRedUp sigGreenUp sigBlueUp分别表示起始颜色的R G B三象素数值
'sigRedDn sigGreenDn sigBlueDn表示结束颜色的RGB三象素数值
On Error Resume Next
Dim objWidth As Single
Dim RedInfo As Single, GreenInfo As Single, BlueInfo As Single
Dim Red As Single, Green As Single, Blue As Single
objWidth = objName.ScaleWidth
RedInfo = (sigRedDn - sigRedUp) / objWidth
GreenInfo = (sigGreenDn - sigGreenUp) / objWidth
BlueInfo = (sigBlueDn - sigBlueUp) / objWidth
For i = 0 To objWidth - 1
Red = sigRedUp + i * RedInfo
Green = sigGreenUp + i * GreenInfo
Blue = sigBlueUp + i * BlueInfo
objName.ForeColor = RGB(Red, Green, Blue)
objName.Line (i, 0)-(i, objName.ScaleWidth - 1)
Next i
End Sub