FromArgb Method (Int32, Int32, Int32)
Collapse the table of content
Expand the table of content

Color.FromArgb Method (Int32, Int32, Int32)

 

Creates a Color structure from the specified 8-bit color values (red, green, and blue). The alpha value is implicitly 255 (fully opaque). Although this method allows a 32-bit value to be passed for each color component, the value of each component is limited to 8 bits.

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

Public Shared Function FromArgb (
	red As Integer,
	green As Integer,
	blue As Integer
) As Color

Parameters

red
Type: System.Int32

The red component value for the new Color. Valid values are 0 through 255.

green
Type: System.Int32

The green component value for the new Color. Valid values are 0 through 255.

blue
Type: System.Int32

The blue component value for the new Color. Valid values are 0 through 255.

Return Value

Type: System.Drawing.Color

The Color that this method creates.

Exception Condition
ArgumentException

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

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:

  1. Creates Color structures from the three color component values (red, green, blue). Three Color structures are created, one for each primary color.

  2. Iterates through a range of alpha values, changing the alpha value of a color.

  3. During each iteration, sets the color of a brush to the modified color and paints a rectangle to show the color.

  4. Repeats steps 2 and 3 for each primary color.

The alpha value is never fully opaque and the rectangles overlap so you get color-combination effects.

Public Sub FromArgb2(ByVal e As PaintEventArgs)
    Dim g As Graphics = e.Graphics

    ' Opaque colors (alpha value defaults to 255 -- max value).
    Dim red As Color = Color.FromArgb(255, 0, 0)
    Dim green As Color = Color.FromArgb(0, 255, 0)
    Dim blue As Color = Color.FromArgb(0, 0, 255)

    ' Solid brush initialized to red.
    Dim myBrush As New SolidBrush(red)
    Dim alpha As Integer

    ' x coordinate of first red rectangle.
    Dim x As Integer = 50

    ' y coordinate of first red rectangle.
    Dim y As Integer = 50

    ' Fill rectangles with red, varying the alpha value from 25 to 250.
    For alpha = 25 To 250 Step 25
        myBrush.Color = Color.FromArgb(alpha, red)
        g.FillRectangle(myBrush, x, y, 50, 100)
        g.FillRectangle(myBrush, x, y + 250, 50, 50)
        x += 50
    Next alpha

    ' x coordinate of first green rectangle.
    x = 50

    ' y coordinate of first green rectangle.
    y += 50


    ' Fill rectangles with green, varying alpha value from 25 to 250.
    For alpha = 25 To 250 Step 25
        myBrush.Color = Color.FromArgb(alpha, green)
        g.FillRectangle(myBrush, x, y, 50, 150)
        x += 50
    Next alpha

    ' x coordinate of first blue rectangle.
    x = 50

    ' y coordinate of first blue rectangle.
    y += 100

    ' Fill rectangles with blue, varying alpha value from 25 to 250.
    For alpha = 25 To 250 Step 25
        myBrush.Color = Color.FromArgb(alpha, blue)
        g.FillRectangle(myBrush, x, y, 50, 150)
        x += 50
    Next alpha
End Sub

.NET Framework
Available since 1.1
Return to top
Show:
© 2016 Microsoft