Color.GetHue Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la valeur de teinte HSL (hue-saturation-lightness), en degrés, pour cette structure Color.
public:
float GetHue();
public float GetHue ();
member this.GetHue : unit -> single
Public Function GetHue () As Single
Retours
La teinte, en degrés, de cette Color. La teinte est mesurée en degrés, allant de 0,0 à 360,0, dans l’espace de couleur HSL.
Exemples
L’exemple de code suivant est conçu pour être utilisé avec Windows Forms et nécessite PaintEventArgse
, qui est un paramètre du gestionnaire d’événements Paint. Le code effectue les actions suivantes :
Crée une instance d’une structure Color,
redShade
, à utiliser pour les comparaisons.Itère à travers les éléments d’énumération KnownColor pour rechercher toutes les couleurs connues qui ont la même teinte que
redShade
. Les itérations sont arrêtées lorsque 15 correspondances sont trouvées ou que la valeur du compteur de boucle est supérieure au dernier élément KnownColor.Pendant chaque itération, enregistre l’élément KnownColor ( s’il correspond aux critères ) dans un tableau.
Utilise un pinceau pour peindre des rectangles.
Le premier rectangle est peint la couleur représentée par redShade
. Chacun des autres rectangles est peint un KnownColor qui correspond à la teinte du redShade
.
void GetHueExample( 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 hue of the redShade
// color.
array<KnownColor>^colorMatches = gcnew array<KnownColor>(15);
// Number of matches found.
int count = 0;
// Iterate through the KnownColor enums until 15 matches are found.
for ( KnownColor enumValue = (KnownColor)0; enumValue <= KnownColor::YellowGreen && count < 15; enumValue = enumValue + (KnownColor)1 )
{
someColor = Color::FromKnownColor( enumValue );
if ( someColor.GetHue() == redShade.GetHue() )
colorMatches[ count++ ] = enumValue;
}
// Display the redShade color and its argb value.
SolidBrush^ myBrush1 = gcnew SolidBrush( redShade );
System::Drawing::Font^ myFont = gcnew System::Drawing::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, (float)x + 120, (float)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, (float)x + 120, (float)y );
}
}
public void GetHueExample(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 hue 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.GetHue() == redShade.GetHue())
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);
}
}
Public Sub GetHueExample(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
' Color structures. One is used for temporary storage. The other
' is a constant used for comparisons.
Dim someColor As Color = Color.FromArgb(0)
Dim redShade As Color = Color.FromArgb(255, 200, 0, 100)
' Array for KnownColor values that match the hue of redShade
' color.
Dim colorMatches(15) As KnownColor
' Number of matches found.
Dim count As Integer = 0
' Iterate through the KnownColor enums until 15 matches are found.
Dim enumValue As KnownColor
For enumValue = 0 To KnownColor.YellowGreen
someColor = Color.FromKnownColor(enumValue)
If (someColor.GetHue()) = (redShade.GetHue()) Then
colorMatches(count) = enumValue
count += 1
If count > 15 Then
Exit For
End If
End If
Next enumValue
' Display the redShade color and its argb value.
Dim myBrush1 As New SolidBrush(redShade)
Dim myFont As New Font("Arial", 12)
Dim x As Integer = 20
Dim y As Integer = 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.
Dim i As Integer
For i = 0 To count - 1
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)
Next i
End Sub