This documentation is archived and is not being maintained.

Color.ToArgb Method

Gets the 32-bit ARGB value of this Color structure.

[Visual Basic]
Public Function ToArgb() As Integer
[C#]
public int ToArgb();
[C++]
public: int ToArgb();
[JScript]
public function ToArgb() : int;

Return Value

The 32-bit ARGB value of this Color structure.

Remarks

The byte-ordering of the 32-bit ARGB value is AARRGGBB. The most significant byte (MSB), represented by AA, is the alpha component value. The second, third, and fourth bytes, represented by RR, GG, and BB, respectively, are the color components red, green, and blue, respectively. For example, suppose that a color is created from the four component values. The ToArgb method can be used to obtain the 32-bit ARGB value as follows:

Example

[Visual Basic, C#] The following example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following actions:

  • Iterates through the KnownColor enumeration elements to find all known colors that have a nonzero green component and a zero-value red component, and that are not system colors.
  • During each iteration: saves the KnownColor element, if it matches the criteria, in an array.
  • Uses a brush to paint rectangles.

[Visual Basic, C#] Each of the rectangles is painted a KnownColor that matches the criteria stated in the first step. The name of the KnownColor and its component values are also displayed.

[Visual Basic, C#] This example displays certain known colors, the names of the colors, and their four component values. Use of the ToArgb method is a preliminary step to displaying the component values.

[Visual Basic] 
Public Sub ToArgbToStringExample(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
Dim count As Integer = 0 ' number of matches found
' 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
        
[C#] 
public void ToArgbToStringExample(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];
int  count = 0;   // number of matches found
// 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;
}
}
        

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

Color Structure | Color Members | System.Drawing Namespace

Show: