Color.FromKnownColor(KnownColor) Metoda

Definicja

Tworzy strukturę Color na podstawie określonego wstępnie zdefiniowanego koloru.

C#
public static System.Drawing.Color FromKnownColor(System.Drawing.KnownColor color);

Parametry

color
KnownColor

Element wyliczenia KnownColor.

Zwraca

Color tworzone przez tę metodę.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy wystąpienie struktury Color, redShade, do użycia w porównaniach.

  • Iteruje przez elementy wyliczania KnownColor, aby znaleźć wszystkie znane kolory, które mają taką samą lekkość jak redShade. Iteracji są przerywane po znalezieniu 15 dopasowań lub wartość licznika pętli jest większa niż ostatni element KnownColor.

  • Podczas każdej iteracji zapisuje element KnownColor — jeśli spełnia kryteria — w tablicy.

  • Używa pędzla do malowania prostokątów.

Pierwszy prostokąt jest malowany kolorem reprezentowanym przez redShade. Każdy z pozostałych prostokątów jest malowany KnownColor, który pasuje do lekkości redShade.

C#
public void KnownColorBrightnessExample1(PaintEventArgs e)
{
    Graphics     g = e.Graphics;
             
    // Color structures. One is a variable used for temporary storage. The other
    // is a constant used for comparisons.
    Color   someColor = Color.FromArgb(0);
    Color   redShade = Color.FromArgb(255, 200, 0, 100);
             
    // Array to store KnownColor values that match the brightness of the
    // redShade color.
    KnownColor[]  colorMatches = new KnownColor[15];
     
    // Number of matches found.
    int  count = 0;   
          
    // Iterate through the KnownColor enums until 15 matches are found.
    for (KnownColor enumValue = 0;
        enumValue <= KnownColor.YellowGreen && count < 15; enumValue++)
    {
        someColor = Color.FromKnownColor(enumValue);
        if (someColor.GetBrightness() == redShade.GetBrightness())
            colorMatches[count++] = enumValue;
    }
             
    // Display the redShade color and its argb value.
    SolidBrush  myBrush1 = new SolidBrush(redShade);
    Font        myFont = new Font("Arial", 12);
    int         x = 20;
    int         y = 20;
    someColor = redShade;
    g.FillRectangle(myBrush1, x, y, 100, 30);
    g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 120, y);
             
    // Iterate through the matches that were found and display each color that
    // Corresponds with the enum value in the array. also display the name of
    // The KnownColor.
    for (int i = 0; i < count; i++)
    {
        y += 40;
        someColor = Color.FromKnownColor(colorMatches[i]);
        myBrush1.Color = someColor;
        g.FillRectangle(myBrush1, x, y, 100, 30);
        g.DrawString(someColor.ToString(), myFont, Brushes.Black, x + 120, y);
    }
}

Uwagi

Wstępnie zdefiniowany kolor jest również nazywany znanym kolorem i jest reprezentowany przez element wyliczenia KnownColor.

Dotyczy

Produkt Wersje
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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.1