Color.FromArgb Метод

Определение

Создает структуру Color из четырех 8-разрядных компонентов ARGB (альфа, красный, зеленый и синий) значений.

Перегрузки

FromArgb(Int32, Int32, Int32, Int32)

Создает структуру Color из четырех значений ARGB (альфа, красный, зеленый и синий). Хотя этот метод позволяет передавать 32-разрядное значение для каждого компонента, значение каждого компонента ограничено 8 битами.

FromArgb(Int32, Int32, Int32)

Создает Color структуру из указанных 8-разрядных значений цвета (красный, зеленый и синий). Альфа-значение неявно равно 255 (полностью непрозрачное). Хотя этот метод позволяет передавать 32-разрядное значение для каждого компонента цвета, значение каждого компонента ограничено 8 битами.

FromArgb(Int32, Color)

Создает Color структуру из указанной Color структуры, но с новым указанным альфа-значением. Хотя этот метод позволяет передавать 32-разрядное значение для альфа-значения, это значение ограничено 8 битами.

FromArgb(Int32)

Создает структуру Color из 32-разрядного значения ARGB.

FromArgb(Int32, Int32, Int32, Int32)

Исходный код:
Color.cs
Исходный код:
Color.cs
Исходный код:
Color.cs

Создает структуру Color из четырех значений ARGB (альфа, красный, зеленый и синий). Хотя этот метод позволяет передавать 32-разрядное значение для каждого компонента, значение каждого компонента ограничено 8 битами.

public static System.Drawing.Color FromArgb (int alpha, int red, int green, int blue);

Параметры

alpha
Int32

Альфа-компонент. Допустимые значения — от 0 до 255.

red
Int32

Красный компонент. Допустимые значения — от 0 до 255.

green
Int32

Зеленый компонент. Допустимые значения — от 0 до 255.

blue
Int32

Синий компонент. Допустимые значения — от 0 до 255.

Возвращаемое значение

Color, создаваемый этим методом.

Исключения

alpha, red, greenили blue меньше 0 или больше 255.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает три кисти, каждый из которых отличается от цвета. Каждая Color структура, используемая для создания кисти, создается из четырех значений компонентов (альфа, красный, зеленый, синий).

  • Использует мнимый треугольник для размещения трех кругов.

  • Краска три перекрывающихся круга, каждая из которых находится на одной вершине треугольника, используя другую кисть для каждого круга.

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);
}

Комментарии

Чтобы создать непрозрачный цвет, задайте для alpha значение 255. Чтобы создать полупрозрачный цвет, задайте для alpha любое значение от 1 до 254.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

FromArgb(Int32, Int32, Int32)

Исходный код:
Color.cs
Исходный код:
Color.cs
Исходный код:
Color.cs

Создает Color структуру из указанных 8-разрядных значений цвета (красный, зеленый и синий). Альфа-значение неявно равно 255 (полностью непрозрачное). Хотя этот метод позволяет передавать 32-разрядное значение для каждого компонента цвета, значение каждого компонента ограничено 8 битами.

public static System.Drawing.Color FromArgb (int red, int green, int blue);

Параметры

red
Int32

Красное значение компонента для нового Color. Допустимые значения — от 0 до 255.

green
Int32

Зеленое значение компонента для нового Color. Допустимые значения — от 0 до 255.

blue
Int32

Значение синего компонента для нового Color. Допустимые значения — от 0 до 255.

Возвращаемое значение

Color, создаваемый этим методом.

Исключения

red, greenили blue меньше 0 или больше 255.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  1. Создает Color структуры из трех значений цветового компонента (красный, зеленый, синий). Создаются три Color структуры, по одному для каждого первичного цвета.

  2. Выполняет итерацию по диапазону альфа-значений, изменяя альфа-значение цвета.

  3. Во время каждой итерации задает цвет кисти измененным цветом и красит прямоугольник для отображения цвета.

  4. Повторяет шаги 2 и 3 для каждого основного цвета.

Альфа-значение никогда не полностью непрозрачно, а прямоугольники перекрываются, поэтому вы получаете эффекты сочетания цветов.

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;
    }
}

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

FromArgb(Int32, Color)

Исходный код:
Color.cs
Исходный код:
Color.cs
Исходный код:
Color.cs

Создает Color структуру из указанной Color структуры, но с новым указанным альфа-значением. Хотя этот метод позволяет передавать 32-разрядное значение для альфа-значения, это значение ограничено 8 битами.

public static System.Drawing.Color FromArgb (int alpha, System.Drawing.Color baseColor);

Параметры

alpha
Int32

Альфа-значение для нового Color. Допустимые значения — от 0 до 255.

baseColor
Color

Color, из которого создается новая Color.

Возвращаемое значение

Color, создаваемый этим методом.

Исключения

alpha меньше 0 или больше 255.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  1. Создает Color структуры из трех значений цветового компонента (красный, зеленый, синий). Создаются три Color структуры, по одному для каждого первичного цвета.

  2. Выполняет итерацию по диапазону альфа-значений, изменяя альфа-значение цвета.

  3. Во время каждой итерации задает цвет кисти измененным цветом и красит прямоугольник для отображения цвета.

  4. Повторяет шаги 2 и 3 для каждого основного цвета.

Альфа-значение никогда не полностью непрозрачно, а прямоугольники перекрываются, поэтому вы получаете эффекты сочетания цветов.

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;
    }
}

Комментарии

Чтобы создать непрозрачный цвет, задайте для alpha значение 255. Чтобы создать полупрозрачный цвет, задайте для alpha любое значение от 1 до 254.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

FromArgb(Int32)

Исходный код:
Color.cs
Исходный код:
Color.cs
Исходный код:
Color.cs

Создает структуру Color из 32-разрядного значения ARGB.

public static System.Drawing.Color FromArgb (int argb);

Параметры

argb
Int32

Значение, указывающее 32-разрядное значение ARGB.

Возвращаемое значение

Структура Color, которую создает этот метод.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает три кисти, каждый из которых отличается от цвета. Каждая Color структура, используемая для создания кисти, создается из 32-разрядного значения ARGB.

  • Использует мнимый треугольник для размещения трех кругов.

  • Краска три перекрывающихся круга, каждая из которых находится на одной вершине треугольника, используя другую кисть для каждого круга.

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);
}

Комментарии

Порядок байтов 32-разрядного значения ARGB — AARRGGBB. Наиболее значимым байтом (MSB), представленным AA, является значение альфа-компонента. Второй, третий и четвертый байты, представленные RR, GG и BB соответственно, являются компонентами цвета красный, зеленый и синий соответственно.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1