Color.FromArgb Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en Color struktur från de fyra 8-bitars ARGB-komponenterna (alfa, rött, grönt och blått) värden.
Överlagringar
| Name | Description |
|---|---|
| FromArgb(Int32, Int32, Int32, Int32) |
Skapar en Color struktur från de fyra ARGB-komponentvärdena (alfa, rött, grönt och blått). Även om den här metoden tillåter att ett 32-bitars värde skickas för varje komponent, är värdet för varje komponent begränsat till 8 bitar. |
| FromArgb(Int32, Int32, Int32) |
Skapar en Color struktur från de angivna 8-bitars färgvärdena (röd, grön och blå). Alfavärdet är implicit 255 (helt ogenomskinligt). Även om den här metoden tillåter att ett 32-bitars värde skickas för varje färgkomponent, är värdet för varje komponent begränsat till 8 bitar. |
| FromArgb(Int32, Color) |
Skapar en Color struktur från den angivna Color strukturen, men med det nya angivna alfavärdet. Även om den här metoden tillåter att ett 32-bitars värde skickas för alfavärdet är värdet begränsat till 8 bitar. |
| FromArgb(Int32) |
Skapar en Color struktur från ett 32-bitars ARGB-värde. |
FromArgb(Int32, Int32, Int32, Int32)
Skapar en Color struktur från de fyra ARGB-komponentvärdena (alfa, rött, grönt och blått). Även om den här metoden tillåter att ett 32-bitars värde skickas för varje komponent, är värdet för varje komponent begränsat till 8 bitar.
public:
static System::Drawing::Color FromArgb(int alpha, int red, int green, int blue);
public static System.Drawing.Color FromArgb(int alpha, int red, int green, int blue);
static member FromArgb : int * int * int * int -> System.Drawing.Color
Public Shared Function FromArgb (alpha As Integer, red As Integer, green As Integer, blue As Integer) As Color
Parametrar
- alpha
- Int32
Alfakomponenten. Giltiga värden är 0 till 255.
- red
- Int32
Den röda komponenten. Giltiga värden är 0 till 255.
- green
- Int32
Den gröna komponenten. Giltiga värden är 0 till 255.
- blue
- Int32
Den blå komponenten. Giltiga värden är 0 till 255.
Returer
Den Color metod som den här metoden skapar.
Undantag
alpha, red, green, eller blue är mindre än 0 eller större än 255.
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:
Skapar tre penslar, var och en en annan färg. Varje Color struktur som används för att skapa en pensel skapas från fyra komponentvärden (alfa, röd, grön, blå).
Använder en imaginär triangel för att placera tre cirklar.
Målar tre överlappande cirklar, var och en centrerad på ett hörn av triangeln, med en annan pensel för varje cirkel.
void FromArgb1( PaintEventArgs^ e )
{
Graphics^ g = e->Graphics;
// Transparent red, green, and blue brushes.
SolidBrush^ trnsRedBrush = gcnew SolidBrush( Color::FromArgb( 120, 255, 0, 0 ) );
SolidBrush^ trnsGreenBrush = gcnew SolidBrush( Color::FromArgb( 120, 0, 255, 0 ) );
SolidBrush^ trnsBlueBrush = gcnew 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 );
}
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);
}
Public Sub FromArgb1(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
' Transparent red, green, and blue brushes.
Dim trnsRedBrush As New SolidBrush(Color.FromArgb(120, 255, 0, 0))
Dim trnsGreenBrush As New SolidBrush(Color.FromArgb(120, 0, _
255, 0))
Dim trnsBlueBrush As 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 circle.
Dim triBase As Single = 100
Dim triHeight As Single = CSng(Math.Sqrt((3 * (triBase * _
triBase) / 4)))
' Coordinates of first circle's bounding rectangle.
Dim x1 As Single = 40
Dim y1 As Single = 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)
End Sub
Kommentarer
Om du vill skapa en ogenomskinlig färg anger du alpha till 255. Om du vill skapa en semitransparent färg anger du alpha till valfritt värde från 1 till 254.
Gäller för
FromArgb(Int32, Int32, Int32)
Skapar en Color struktur från de angivna 8-bitars färgvärdena (röd, grön och blå). Alfavärdet är implicit 255 (helt ogenomskinligt). Även om den här metoden tillåter att ett 32-bitars värde skickas för varje färgkomponent, är värdet för varje komponent begränsat till 8 bitar.
public:
static System::Drawing::Color FromArgb(int red, int green, int blue);
public static System.Drawing.Color FromArgb(int red, int green, int blue);
static member FromArgb : int * int * int -> System.Drawing.Color
Public Shared Function FromArgb (red As Integer, green As Integer, blue As Integer) As Color
Parametrar
Returer
Den Color metod som den här metoden skapar.
Undantag
red, green, eller blue är mindre än 0 eller större än 255.
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:
Skapar Color strukturer från de tre färgkomponentvärdena (röd, grön, blå). Tre Color strukturer skapas, en för varje primärfärg.
Itererar genom ett intervall med alfavärden och ändrar alfavärdet för en färg.
Under varje iteration anger färgen på en pensel till den ändrade färgen och målar en rektangel för att visa färgen.
Upprepar steg 2 och 3 för varje primär färg.
Alfavärdet är aldrig helt ogenomskinliga och rektanglarna överlappar varandra så att du får färgkombinationseffekter.
void FromArgb2( PaintEventArgs^ e )
{
Graphics^ g = e->Graphics;
// Opaque colors (alpha value defaults to 255 -- max value).
Color red = Color::FromArgb( 255, 0, 0 );
Color green = Color::FromArgb( 0, 255, 0 );
Color blue = Color::FromArgb( 0, 0, 255 );
// Solid brush initialized to red.
SolidBrush^ myBrush = gcnew SolidBrush( red );
int alpha;
// x coordinate of first red rectangle
int x = 50;
// y coordinate of first red rectangle
int y = 50;
// Fill rectangles with red, varying the alpha value from 25 to 250.
for ( alpha = 25; alpha <= 250; alpha += 25 )
{
myBrush->Color = Color::FromArgb( alpha, red );
g->FillRectangle( myBrush, x, y, 50, 100 );
g->FillRectangle( myBrush, x, y + 250, 50, 50 );
x += 50;
}
x = 50;
// y coordinate of first green rectangle.
y += 50;
// Fill rectangles with green, varying the alpha value from 25 to 250.
for ( alpha = 25; alpha <= 250; alpha += 25 )
{
myBrush->Color = Color::FromArgb( alpha, green );
g->FillRectangle( myBrush, x, y, 50, 150 );
x += 50;
}
x = 50;
// y coordinate of first blue rectangle.
y += 100;
// Fill rectangles with blue, varying the alpha value from 25 to 250.
for ( alpha = 25; alpha <= 250; alpha += 25 )
{
myBrush->Color = Color::FromArgb( alpha, blue );
g->FillRectangle( myBrush, x, y, 50, 150 );
x += 50;
}
}
public void FromArgb2(PaintEventArgs e)
{
Graphics g = e.Graphics;
// Opaque colors (alpha value defaults to 255 -- max value).
Color red = Color.FromArgb(255, 0, 0);
Color green = Color.FromArgb(0, 255, 0);
Color blue = Color.FromArgb(0, 0, 255);
// Solid brush initialized to red.
SolidBrush myBrush = new SolidBrush(red);
int alpha;
// x coordinate of first red rectangle
int x = 50;
// y coordinate of first red rectangle
int y = 50;
// Fill rectangles with red, varying the alpha value from 25 to 250.
for (alpha = 25; alpha <= 250; alpha += 25)
{
myBrush.Color = Color.FromArgb(alpha, red);
g.FillRectangle(myBrush, x, y, 50, 100);
g.FillRectangle(myBrush, x, y + 250, 50, 50);
x += 50;
}
// x coordinate of first green rectangle.
x = 50;
// y coordinate of first green rectangle.
y += 50;
// Fill rectangles with green, varying the alpha value from 25 to 250.
for (alpha = 25; alpha <= 250; alpha += 25)
{
myBrush.Color = Color.FromArgb(alpha, green);
g.FillRectangle(myBrush, x, y, 50, 150);
x += 50;
}
// x coordinate of first blue rectangle.
x = 50;
// y coordinate of first blue rectangle.
y += 100;
// Fill rectangles with blue, varying the alpha value from 25 to 250.
for (alpha = 25; alpha <= 250; alpha += 25)
{
myBrush.Color = Color.FromArgb(alpha, blue);
g.FillRectangle(myBrush, x, y, 50, 150);
x += 50;
}
}
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
Gäller för
FromArgb(Int32, Color)
public:
static System::Drawing::Color FromArgb(int alpha, System::Drawing::Color baseColor);
public static System.Drawing.Color FromArgb(int alpha, System.Drawing.Color baseColor);
static member FromArgb : int * System.Drawing.Color -> System.Drawing.Color
Public Shared Function FromArgb (alpha As Integer, baseColor As Color) As Color
Parametrar
Returer
Den Color metod som den här metoden skapar.
Undantag
alpha är mindre än 0 eller större än 255.
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:
Skapar Color strukturer från de tre färgkomponentvärdena (röd, grön, blå). Tre Color strukturer skapas, en för varje primärfärg.
Itererar genom ett intervall med alfavärden och ändrar alfavärdet för en färg.
Under varje iteration anger färgen på en pensel till den ändrade färgen och målar en rektangel för att visa färgen.
Upprepar steg 2 och 3 för varje primär färg.
Alfavärdet är aldrig helt ogenomskinliga och rektanglarna överlappar varandra så att du får färgkombinationseffekter.
void FromArgb3( PaintEventArgs^ e )
{
Graphics^ g = e->Graphics;
// Opaque colors (alpha value defaults to 255 -- max value).
Color red = Color::FromArgb( 255, 0, 0 );
Color green = Color::FromArgb( 0, 255, 0 );
Color blue = Color::FromArgb( 0, 0, 255 );
// Solid brush initialized to red.
SolidBrush^ myBrush = gcnew SolidBrush( red );
int alpha;
// x coordinate of first red rectangle
int x = 50;
// y coordinate of first red rectangle
int y = 50;
// Fill rectangles with red, varying the alpha value from 25 to 250.
for ( alpha = 25; alpha <= 250; alpha += 25 )
{
myBrush->Color = Color::FromArgb( alpha, red );
g->FillRectangle( myBrush, x, y, 50, 100 );
g->FillRectangle( myBrush, x, y + 250, 50, 50 );
x += 50;
}
x = 50;
// y coordinate of first green rectangle
y += 50;
// Fill rectangles with green, varying the alpha value from 25 to 250.
for ( alpha = 25; alpha <= 250; alpha += 25 )
{
myBrush->Color = Color::FromArgb( alpha, green );
g->FillRectangle( myBrush, x, y, 50, 150 );
x += 50;
}
x = 50;
// y coordinate of first blue rectangle
y += 100;
// Fill rectangles with blue, varying the alpha value from 25 to 250.
for ( alpha = 25; alpha <= 250; alpha += 25 )
{
myBrush->Color = Color::FromArgb( alpha, blue );
g->FillRectangle( myBrush, x, y, 50, 150 );
x += 50;
}
}
public void FromArgb3(PaintEventArgs e)
{
Graphics g = e.Graphics;
// Opaque colors (alpha value defaults to 255 -- max value).
Color red = Color.FromArgb(255, 0, 0);
Color green = Color.FromArgb(0, 255, 0);
Color blue = Color.FromArgb(0, 0, 255);
// Solid brush initialized to red.
SolidBrush myBrush = new SolidBrush(red);
int alpha;
// x coordinate of first red rectangle
int x = 50;
// y coordinate of first red rectangle
int y = 50;
// Fill rectangles with red, varying the alpha value from 25 to 250.
for (alpha = 25; alpha <= 250; alpha += 25)
{
myBrush.Color = Color.FromArgb(alpha, red);
g.FillRectangle(myBrush, x, y, 50, 100);
g.FillRectangle(myBrush, x, y + 250, 50, 50);
x += 50;
}
// x coordinate of first green rectangle
x = 50;
// y coordinate of first green rectangle
y += 50;
// Fill rectangles with green, varying the alpha value from 25 to 250.
for (alpha = 25; alpha <= 250; alpha += 25)
{
myBrush.Color = Color.FromArgb(alpha, green);
g.FillRectangle(myBrush, x, y, 50, 150);
x += 50;
}
// x coordinate of first blue rectangle.
x = 50;
// y coordinate of first blue rectangle
y += 100;
// Fill rectangles with blue, varying the alpha value from 25 to 250.
for (alpha = 25; alpha <= 250; alpha += 25)
{
myBrush.Color = Color.FromArgb(alpha, blue);
g.FillRectangle(myBrush, x, y, 50, 150);
x += 50;
}
}
Public Sub FromArgb3(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
Kommentarer
Om du vill skapa en ogenomskinlig färg anger du alpha till 255. Om du vill skapa en semitransparent färg anger du alpha till valfritt värde från 1 till 254.
Gäller för
FromArgb(Int32)
Skapar en Color struktur från ett 32-bitars ARGB-värde.
public:
static System::Drawing::Color FromArgb(int argb);
public static System.Drawing.Color FromArgb(int argb);
static member FromArgb : int -> System.Drawing.Color
Public Shared Function FromArgb (argb As Integer) As Color
Parametrar
- argb
- Int32
Ett värde som anger 32-bitars ARGB-värdet.
Returer
Strukturen Color som den här metoden skapar.
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:
Skapar tre penslar, var och en en annan färg. Varje Color struktur som används för att skapa en pensel skapas från ett 32-bitars ARGB-värde.
Använder en imaginär triangel för att placera tre cirklar.
Målar tre överlappande cirklar, var och en centrerad på ett hörn av triangeln, med en annan pensel för varje cirkel.
void FromArgb4( PaintEventArgs^ e )
{
Graphics^ g = e->Graphics;
// Transparent red, green, and blue brushes.
SolidBrush^ trnsRedBrush = gcnew SolidBrush( Color::FromArgb( 0x78FF0000 ) );
SolidBrush^ trnsGreenBrush = gcnew SolidBrush( Color::FromArgb( 0x7800FF00 ) );
SolidBrush^ trnsBlueBrush = gcnew SolidBrush( Color::FromArgb( 0x780000FF ) );
// 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 );
}
public void FromArgb4(PaintEventArgs e)
{
Graphics g = e.Graphics;
// Transparent red, green, and blue brushes.
SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(0x78FF0000));
SolidBrush trnsGreenBrush = new SolidBrush(Color.FromArgb(0x7800FF00));
SolidBrush trnsBlueBrush = new SolidBrush(Color.FromArgb(0x780000FF));
// 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);
}
Public Sub FromArgb4(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
' Transparent red, green, and blue brushes.
Dim trnsRedBrush As New SolidBrush(Color.FromArgb(&H78FF0000))
Dim trnsGreenBrush As New SolidBrush(Color.FromArgb(&H7800FF00))
Dim trnsBlueBrush As New SolidBrush(Color.FromArgb(&H780000FF))
' 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 circle.
Dim triBase As Single = 100
Dim triHeight As Single = CSng(Math.Sqrt((3 * (triBase * _
triBase) / 4)))
' Coordinates of first circle
's bounding rectangle.
Dim x1 As Single = 40
Dim y1 As Single = 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)
End Sub
Kommentarer
Byteordningen för 32-bitars ARGB-värdet är AARRGGBB. Den viktigaste byte (MSB), som representeras av AA, är alfakomponentvärdet. De andra, tredje och fjärde byteen, som representeras av RR, GG respektive BB, är färgkomponenterna röd, grön respektive blå.