Vb.net 划分饱和度/50和色调/50的目的?
我用滚动条控制窗体背景色的色调和饱和度:Vb.net 划分饱和度/50和色调/50的目的?,vb.net,winforms,Vb.net,Winforms,我用滚动条控制窗体背景色的色调和饱和度: Private Sub tbHUE_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbHue.Scroll Dim r, g, b As Integer HSVtoRGB(r, g, b, tbHue.Value, tbSaturation.Value / 50, 255) Form1.BackColor
Private Sub tbHUE_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbHue.Scroll
Dim r, g, b As Integer
HSVtoRGB(r, g, b, tbHue.Value, tbSaturation.Value / 50, 255)
Form1.BackColor = Color.FromArgb(r, g, b)
Label1.Text = tbHue.Value
End Sub
Private Sub tbsaturation_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbSaturation.Scroll
Dim r, g, b As Integer
HSVtoRGB(r, g, b, tbHue.Value, tbSaturation.Value / 50, 255)
Form1.BackColor = Color.FromArgb(r, g, b)
Label2.Text = tbSaturation.Value
End Sub
我想知道除以50的目的是什么?很难知道进行该除法的人在想什么,但结果是你会得到一种不太“纯净”的颜色(混合了更多的白色)
有关更多信息,您可能希望查看,它也有很好的评论。如果您指的是以下问题:,则HSVtoRGB程序需要:
- 介于0.0和1.0之间的饱和度值
- 介于0.0和1.0之间的值
- 介于0和360之间的色调值
将从tbSaturation文本框获得的饱和度值除以50,可以解释用户输入的0到50之间的值。实际上,您可能希望除以100,以允许0-100的范围。这取决于滚动条的范围和HSVtoRGB的预期范围
没有更大的背景,我假设您的滚动条范围在0到50之间,代码正在尝试标准化值,或者他们正在尝试缩放组件。色调上升到360度,没有错误,饱和度上升到50度,没有错误。顺便说一句,我希望范围反映colordialog中规定的实际范围,即0到240