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.
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.
| 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:
Creates Color structures from the three color component values (red, green, blue). Three Color structures are created, one for each primary color.
Iterates through a range of alpha values, changing the alpha value of a color.
During each iteration, sets the color of a brush to the modified color and paints a rectangle to show the color.
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
Available since 1.1