如何在VB.NET中获取颜色的RGB数值等效值

4
在网上有许多标准颜色可供使用。但是如何知道它们的数字值呢?我想要这些数字值,以便通过更改它们来获得标准颜色中没有的所需色调。
例如,我们知道黑色的数字RGB等效值为0, 0, 0。但橄榄色的RGB值是什么?
如何将颜色名称转换为数字RGB值?
3个回答

7
Color 结构体有 .A.R.G.B 四个字段。
例如:
Dim color As Color = Color.Olive
Dim r As Integer = color.R
Dim g As Integer = color.G
Dim b As Integer = color.B

1
一个超级微小的修正:Color struct 拥有这些值。而 Colors 类的属性(也称为命名颜色)返回一个 Color struct :) - nantito
1
@nantito,命名颜色只是Color结构的静态属性,返回结构体,没有涉及到任何类。 - Paul Creasey
2
是的。但命名颜色也是Colors类的属性。但无论如何,我的观点是Color在第一个句点中是一个结构体。其余部分只是补充而已。一切都明确了!谢谢。 - nantito
1
@nantito:不是那么微小 - 我感到惭愧。我并不真的注意我在 .Net 中使用的东西是类还是结构体,只要这种差异不影响我试图完成的任何事情。 - MusiGenesis

5

由于所有颜色都属于Color对象,您只需实例化颜色并调用所需的Color方法即可。

您可能需要像这样的代码:

Console.Write(Color.Olive.R & " " & Color.Olive.G & " " & Color.Olive.B)

5
Public Function Color2Integer(ByVal c As Color) As Integer
     Return c.ToArgb
End Function

Public Function Integer2Color(ByVal colorValue As Integer) As Color
    Return Color.FromArgb(colorValue)
End Function

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接