Color.ToArgb 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取此 Color 结构的 32 位 ARGB 值。
public:
int ToArgb();
public int ToArgb ();
member this.ToArgb : unit -> int
Public Function ToArgb () As Integer
返回
此 Color的 32 位 ARGB 值。
示例
下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse
,这是 Paint 事件处理程序的参数。 该代码执行以下操作:
循环访问 KnownColor 枚举元素,查找具有非零绿色分量和零值红色分量且不是系统颜色的所有已知颜色。
每次迭代期间,将 KnownColor 元素(如果它与条件匹配)保存在数组中。
使用画笔绘制矩形。
每个矩形都绘制 KnownColor,该 KnownColor 与第一个项目符号中所述的条件匹配。 还会显示 KnownColor 及其组件值的名称。
本示例显示某些已知颜色、颜色的名称及其四个组件值。 ToArgb 方法用作显示组件值的初步步骤。
void ToArgbToStringExample1( PaintEventArgs^ e )
{
Graphics^ g = e->Graphics;
// Color structure used for temporary storage.
Color someColor = Color::FromArgb( 0 );
// Array to store KnownColor values that match the criteria.
array<KnownColor>^colorMatches = gcnew array<KnownColor>(167);
// Number of matches found.
int count = 0;
// Iterate through the KnownColor enums to find all corresponding colors
// that have a nonzero green component and zero-value red component and
// that are not system colors.
for ( KnownColor enumValue = (KnownColor)0; enumValue <= KnownColor::YellowGreen; enumValue = enumValue + (KnownColor)1 )
{
someColor = Color::FromKnownColor( enumValue );
if ( someColor.G != 0 && someColor.R == 0 && !someColor.IsSystemColor )
colorMatches[ count++ ] = enumValue;
}
SolidBrush^ myBrush1 = gcnew SolidBrush( someColor );
System::Drawing::Font^ myFont = gcnew System::Drawing::Font( "Arial",9 );
int x = 40;
int y = 40;
// Iterate through the matches that were found and display each color that
// corresponds with the enum value in the array. also display the name of
// the KnownColor and the ARGB components.
for ( int i = 0; i < count; i++ )
{
// Display the color.
someColor = Color::FromKnownColor( colorMatches[ i ] );
myBrush1->Color = someColor;
g->FillRectangle( myBrush1, x, y, 50, 30 );
// Display KnownColor name and the four component values. To display the
// component values: Use the ToArgb method to get the 32-bit ARGB value
// of someColor, which was created from a KnownColor. Then create a
// Color structure from the 32-bit ARGB value and set someColor equal to
// this new Color structure. Then use the ToString method to convert it to
// a string.
g->DrawString( someColor.ToString(), myFont, Brushes::Black, (float)x + 55, (float)y );
someColor = Color::FromArgb( someColor.ToArgb() );
g->DrawString( someColor.ToString(), myFont, Brushes::Black, (float)x + 55, (float)y + 15 );
y += 40;
}
}
public void ToArgbToStringExample1(PaintEventArgs e)
{
Graphics g = e.Graphics;
// Color structure used for temporary storage.
Color someColor = Color.FromArgb(0);
// Array to store KnownColor values that match the criteria.
KnownColor[] colorMatches = new KnownColor[167];
// Number of matches found.
int count = 0;
// Iterate through the KnownColor enums to find all corresponding colors
// that have a nonzero green component and zero-value red component and
// that are not system colors.
for (KnownColor enumValue = 0;
enumValue <= KnownColor.YellowGreen; enumValue++)
{
someColor = Color.FromKnownColor(enumValue);
if (someColor.G != 0 && someColor.R == 0 && !someColor.IsSystemColor)
colorMatches[count++] = enumValue;
}
SolidBrush myBrush1 = new SolidBrush(someColor);
Font myFont = new Font("Arial", 9);
int x = 40;
int y = 40;
// Iterate through the matches that were found and display each color that
// corresponds with the enum value in the array. also display the name of
// the KnownColor and the ARGB components.
for (int i = 0; i < count; i++)
{
// Display the color.
someColor = Color.FromKnownColor(colorMatches[i]);
myBrush1.Color = someColor;
g.FillRectangle(myBrush1, x, y, 50, 30);
// Display KnownColor name and the four component values. To display the
// component values: Use the ToArgb method to get the 32-bit ARGB value
// of someColor, which was created from a KnownColor. Then create a
// Color structure from the 32-bit ARGB value and set someColor equal to
// this new Color structure. Then use the ToString method to convert it to
// a string.
g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 55, y);
someColor = Color.FromArgb(someColor.ToArgb());
g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 55, y + 15);
y += 40;
}
}
Public Sub ToArgbToStringExample1(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
' Color structure used for temporary storage.
Dim someColor As Color = Color.FromArgb(0)
' Array to store KnownColor values that match the criteria.
Dim colorMatches(167) As KnownColor
' Number of matches found.
Dim count As Integer = 0
' Iterate through KnownColor enums to find all corresponding colors
' that have a non-zero green component and zero-valued red
' component and that are not system colors.
Dim enumValue As KnownColor
For enumValue = 0 To KnownColor.YellowGreen
someColor = Color.FromKnownColor(enumValue)
If someColor.G <> 0 And someColor.R = 0 And _
Not someColor.IsSystemColor Then
colorMatches(count) = enumValue
count += 1
End If
Next enumValue
Dim myBrush1 As New SolidBrush(someColor)
Dim myFont As New Font("Arial", 9)
Dim x As Integer = 40
Dim y As Integer = 40
' Iterate through the matches found and display each color that
' corresponds with the enum value in the array. Also display the
' name of the KnownColor and the ARGB components.
Dim i As Integer
For i = 0 To count - 1
' Display the color.
someColor = Color.FromKnownColor(colorMatches(i))
myBrush1.Color = someColor
g.FillRectangle(myBrush1, x, y, 50, 30)
' Display KnownColor name and four component values. To display
' component values: Use the ToArgb method to get the 32-bit
' ARGB value of someColor (created from a KnownColor). Create
' a Color structure from the 32-bit ARGB value and set someColor
' equal to this new Color structure. Then use the ToString method
' to convert it to a string.
g.DrawString(someColor.ToString(), myFont, Brushes.Black, _
x + 55, y)
someColor = Color.FromArgb(someColor.ToArgb())
g.DrawString(someColor.ToString(), myFont, Brushes.Black, _
x + 55, y + 15)
y += 40
Next i
End Sub
注解
32 位 ARGB 值的字节排序为 AARRGGBB。 AA 表示的最重要字节(MSB)是 alpha 分量值。 第二个、第三个和第四个字节分别由 RR、GG 和 BB 表示,颜色分量分别为红色、绿色和蓝色