Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Color.FromArgb Method (Int32, Int32, Int32, Int32)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates a Color structure from the four ARGB component (alpha, red, green, and blue) values. Although this method allows a 32-bit value to be passed for each component, the value of each component is limited to 8 bits.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public static Color FromArgb(
	int alpha,
	int red,
	int green,
	int blue


Type: System.Int32

The alpha component. Valid values are 0 through 255.

Type: System.Int32

The red component. Valid values are 0 through 255.

Type: System.Int32

The green component. Valid values are 0 through 255.

Type: System.Int32

The blue component. Valid values are 0 through 255.

Return Value

Type: System.Drawing.Color

The Color that this method creates.

Exception Condition

alpha, red, green, or blue is less than 0 or greater than 255.

To create an opaque color, set alpha to 255. To create a semitransparent color, set alpha to any value from 1 through 254.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates three brushes, each a different color. Each Color structure that is used to create a brush is created from four component values (alpha, red, green, blue).

  • Uses an imaginary triangle to position three circles.

  • Paints three overlapping circles, each centered on one vertex of the triangle, using a different brush for each circle.

public void FromArgb1(PaintEventArgs e)
    Graphics     g = e.Graphics;

    // Transparent red, green, and blue brushes.
    SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(120, 255, 0, 0));
    SolidBrush trnsGreenBrush = new SolidBrush(Color.FromArgb(120, 0, 255, 0));
    SolidBrush trnsBlueBrush = new SolidBrush(Color.FromArgb(120, 0, 0, 255));

    // Base and height of the triangle that is used to position the
    // circles. Each vertex of the triangle is at the center of one of the
    // 3 circles. The base is equal to the diameter of the circles.
    float   triBase = 100;
    float   triHeight = (float)Math.Sqrt(3*(triBase*triBase)/4);

    // Coordinates of first circle's bounding rectangle.
    float   x1 = 40;
    float   y1 = 40;

    // Fill 3 over-lapping circles. Each circle is a different color.
    g.FillEllipse(trnsRedBrush, x1, y1, 2*triHeight, 2*triHeight);
    g.FillEllipse(trnsGreenBrush, x1 + triBase/2, y1 + triHeight,
        2*triHeight, 2*triHeight);
    g.FillEllipse(trnsBlueBrush, x1 + triBase, y1, 2*triHeight, 2*triHeight);

.NET Framework
Available since 1.1
Return to top
© 2018 Microsoft