Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Pour convertir des codes couleur en C#, analysez une chaîne de couleur CSS avec Color.FromString(), puis produisez la valeur avec ToRgbString(), ToRgbHexString() ou ToRgbaHexString(). Ce flux permet de convertir HEX en RGB, RGB en HEX, HSL en HEX, les noms de couleur en HEX et de normaliser les couleurs SVG dans un format unique.
Cet article explique comment convertir des codes couleur par programmation avec Aspose.SVG for .NET. La classe Color analyse les chaînes CSS aux formats HEX, RGB, RGBA, HSL, HSLA, HWB, LAB, LCH, OKLAB, OKLCH, CMYK et NCOL, ainsi que les noms de couleur, puis les convertit dans le format de sortie requis.
La conversion des couleurs sert à comparer des couleurs SVG, normaliser des valeurs extraites, préparer une palette ou transformer des formats CSS pour les rapports et la validation.
Vous apprendrez à :
Les exemples utilisent l’API de dessin Aspose.SVG :
| API | Utilisation |
|---|---|
| Color | Représente une couleur analysée et la convertit entre formats de sortie |
| Color.FromString() | Analyse des chaînes CSS comme #ff31ca, rgb(...), hsl(...), black ou cmyk(...) |
| Color.FromRgb() | Crée une couleur à partir de composantes RGB |
| Color.FromHsl() | Crée une couleur à partir de composantes HSL |
| Color.FromCmyk() | Crée une couleur à partir de composantes CMYK |
| ToRgbString() | Produit la couleur sous la forme rgb(R, G, B) |
| ToRgbHexString() | Produit la couleur sous la forme #RRGGBB |
| ToRgbaHexString() | Produit la couleur sous la forme #RRGGBBAA |
| Convert() | Renvoie les composantes dans le ColorModel sélectionné |
Le tableau résume les opérations courantes en C# :
| Tâche | Modèle C# |
|---|---|
| Convertir HEX en RGB | Color.FromString("#ff31ca").ToRgbString() |
| Convertir RGB en HEX | Color.FromString("rgb(255, 49, 202)").ToRgbHexString() |
| Convertir HSL en HEX | Color.FromString("hsl(315, 100%, 60%)").ToRgbHexString() |
| Convertir un nom de couleur en HEX | Color.FromString("black").ToRgbHexString() |
| Convertir RGBA en HEX à huit chiffres | Color.FromString("rgba(255, 49, 202, 0.5)").ToRgbaHexString() |
| Normaliser les couleurs SVG | Analyser chaque valeur avec Color.FromString() et produire ToRgbHexString() |
Les exemples suivants couvrent les principaux besoins en C# : conversion de HEX, RGB, HSL, couleurs nommées et RGBA, création depuis des composantes et normalisation de couleurs SVG extraites.
Analysez la valeur HEX avec Color.FromString(), puis appelez ToRgbString() :
1using Aspose.Svg.Drawing;
2using System; 1// Convert a HEX color value to RGB format in C#
2
3// Parse HEX color from a string
4Color color = Color.FromString("#ff31ca");
5
6// Convert HEX to RGB
7string rgbColor = color.ToRgbString();
8
9// Print result to console
10Console.WriteLine(rgbColor);
11// Result: rgb(255, 49, 202)Utilisez cette conversion lorsque des couleurs sont fournies sous forme de codes HEX CSS, mais que vos rapports, validations ou traitements d’image exigent RGB.
Analysez la chaîne RGB et produisez une valeur HEX normalisée à six chiffres avec ToRgbHexString() :
1using Aspose.Svg.Drawing;
2using System; 1// Convert an RGB color value to HEX format in C#
2
3// Parse RGB color from a string
4Color color = Color.FromString("rgb(255, 49, 202)");
5
6// Convert RGB to HEX
7string hexColor = color.ToRgbHexString();
8
9// Print result to console
10Console.WriteLine(hexColor);
11// Result: #FF31CACette méthode est utile pour placer toutes les couleurs SVG ou CSS extraites dans le même format.
SVG et CSS peuvent stocker les couleurs en notation HSL. Vous pouvez analyser la chaîne HSL et la convertir en HEX :
1using Aspose.Svg.Drawing;
2using System; 1// Convert an HSL color value to HEX format in C#
2
3// Parse HSL color from a string
4Color color = Color.FromString("hsl(315, 100%, 60%)");
5
6// Convert HSL to HEX
7string hexColor = color.ToRgbHexString();
8
9// Print result to console
10Console.WriteLine(hexColor);
11// Result: #FF33CCUtilisez cette approche lorsque les outils CSS, les systèmes de conception ou les thèmes stockent les couleurs en HSL, alors que l’application attend des valeurs HEX pour la comparaison ou la sortie.
Color.FromString() peut analyser les noms de couleur CSS. Il devient ainsi simple de normaliser les valeurs nommées lors du traitement des attributs SVG.
1using Aspose.Svg.Drawing;
2using System; 1// Convert a named color value to HEX format in C#
2
3// Parse a named color from a string
4Color color = Color.FromString("black");
5
6// Convert named color to HEX
7string hexColor = color.ToRgbHexString();
8
9// Print result to console
10Console.WriteLine(hexColor);
11// Result: #000000Cela est particulièrement utile pour SVG, car les outils de design et les fichiers écrits manuellement peuvent mélanger des noms, des valeurs HEX et des fonctions de couleur CSS.
Si une couleur contient de la transparence, utilisez une sortie HEX à huit chiffres afin de conserver le canal alpha. Celui-ci est important pour les remplissages SVG, contours, ombres, superpositions et éléments d’interface semi-transparents.
1using Aspose.Svg.Drawing;
2using System;1// Convert an RGBA color value to 8-digit HEX format in C#
2
3// Parse RGBA color from a string
4Color color = Color.FromString("rgba(255, 49, 202, 0.5)");
5
6// Convert RGBA to 8-digit HEX
7Console.WriteLine(color.ToRgbaHexString());
8// Result: #FF31CA7FUtilisez ToRgbHexString() si seule la couleur RGB est nécessaire. Pour conserver la transparence dans HEX, utilisez ToRgbaHexString().
Consultez Opacité SVG et couleurs transparentes en C# pour les scénarios liés à la transparence.
Vous pouvez créer les couleurs directement depuis leurs composantes sans analyser de chaîne. L’exemple produit le même rouge à partir de composantes RGB, HSL et CMYK :
1using Aspose.Svg.Drawing;
2using System; 1// Create the same red color from RGB, HSL, and CMYK components in C#
2
3// Create a color from RGB components
4Color rgbColor = Color.FromRgb(255, 0, 0);
5
6// Create a color from HSL components
7Color hslColor = Color.FromHsl(0, 1, 0.5f);
8
9// Create a color from CMYK components
10Color cmykColor = Color.FromCmyk(0, 1, 1, 0);
11
12// Print converted color values to console
13Console.WriteLine(rgbColor.ToRgbHexString());
14Console.WriteLine(hslColor.ToRgbString());
15Console.WriteLine(cmykColor.ToRgbHexString());
16// Result:
17// #FF0000
18// rgb(255, 0, 0)
19// #FF0000Cette méthode convient aux générateurs de palettes, aux processus d’importation et aux applications qui reçoivent des canaux de couleur depuis une base de données ou des contrôles d’interface.
Des couleurs équivalentes peuvent apparaître dans SVG sous différents formats :
1<rect fill="#808080" />
2<circle fill="rgb(128, 128, 128)" />
3<path stroke="hsl(0, 0%, 50%)" />Pour comparer, établir des rapports ou supprimer les doublons, normalisez les valeurs avec Color.FromString() et ToRgbHexString() :
1using Aspose.Svg.Drawing;
2using System;
3using System.Collections.Generic; 1// Normalize SVG color values to HEX format in C#
2
3
4// Store equivalent colors written in different formats
5List<string> sourceColors = new List<string>
6{
7 "#808080",
8 "rgb(128, 128, 128)",
9 "hsl(0, 0%, 50%)"
10};
11
12foreach (string sourceColor in sourceColors)
13{
14 // Parse each color value from a string
15 Color color = Color.FromString(sourceColor);
16
17 // Convert each color to HEX and print the result
18 Console.WriteLine($"{sourceColor} -> {color.ToRgbHexString()}");
19}Sortie attendue :
1#808080 -> #808080
2rgb(128, 128, 128) -> #808080
3hsl(0, 0%, 50%) -> #808080Si vous devez d’abord extraire les couleurs d’un fichier SVG, consultez Extraire les couleurs SVG en C#.
Vous pouvez convertir les codes couleur en ligne ou par programmation. Le Convertisseur de couleurs gratuit accepte les noms et les formats HEX, RGB, HSL, HSV, LAB, HWB, CMYK, LCH, XYZ et NCOL. Saisissez un code ou choisissez visuellement une couleur pour obtenir ses valeurs équivalentes.
Les formats décrivent une même couleur visible de différentes manières. Certains sont courants dans CSS et SVG, d’autres servent aux systèmes de conception, à l’impression ou à la science des couleurs. La syntaxe CSS est définie par CSS Color Module Level 4.
RGB (Red, Green, Blue) définit une couleur par ses canaux rouge, vert et bleu dans l’espace sRGB. Dans CSS et SVG, une valeur s’écrit souvent rgb(255, 0, 0) ou en pourcentages comme rgb(100%, 0%, 0%). RGBA (Red, Green, Blue, Alpha) ajoute un canal alpha, par exemple rgba(255, 0, 0, 0.5).
Utilisez RGB pour les couleurs d’écran et les API d’image. Utilisez RGBA lorsque la transparence doit appartenir à la valeur, par exemple pour des remplissages SVG, contours, ombres ou superpositions semi-transparents. L’alpha de la couleur et les propriétés d’opacité SVG sont liés, mais distincts : rgba(...) stocke la transparence dans la couleur, tandis que opacity, fill-opacity et stroke-opacity sont des propriétés séparées.
HEX (hexadécimal) est une notation sRGB compacte pour CSS et SVG. Elle accepte #RGB, #RGBA, #RRGGBB et #RRGGBBAA. Dans la forme longue, RR, GG et BB stockent les canaux de 00 à FF. AA représente l’alpha : 00 est entièrement transparent et FF entièrement opaque. Consultez la
notation HEX de CSS Color Module Level 4 et la référence MDN
<hex-color>.
HEX est largement utilisé dans les attributs SVG, déclarations CSS, systèmes de conception, jeux d’icônes et interfaces web. C’est aussi un bon format normalisé, car il est compact, stable et facile à comparer sous forme de texte.
HSL représente les couleurs par la teinte, la saturation et la luminosité. La teinte est un angle sur le cercle chromatique, la saturation contrôle l’intensité et la luminosité la proximité du noir ou du blanc. HSLA (Hue, Saturation, Lightness, Alpha) ajoute la transparence alpha.
HSL facilite la création de variantes plus claires, plus sombres ou plus saturées. Dans les systèmes de conception, modifier luminosité et saturation est souvent plus intuitif que changer les canaux RGB. Pour la comparaison, les rapports ou le nettoyage SVG, les valeurs HSL sont souvent normalisées en RGB ou HEX.
HSV (Hue, Saturation, Value) stocke la teinte, la saturation et la valeur. Il est courant dans les sélecteurs de couleur et les outils de design. HWB stocke la teinte, la blancheur et la noirceur, ce qui facilite la création de variantes claires et sombres.
Ces formats sont moins fréquents dans un SVG écrit manuellement, mais peuvent provenir de convertisseurs, d’exports de design ou d’éditeurs de palettes. Convertissez HSV ou HWB dans un format commun avant de les comparer aux attributs SVG.
LAB et LCH sont des espaces perceptuels où les écarts numériques correspondent mieux aux différences visibles. OKLAB et OKLCH sont des modèles plus récents employés dans CSS moderne et les flux de design. Ils sont utiles lorsque les écarts RGB décrivent mal la différence perçue.
Utilisez ces modèles pour les palettes, l’accessibilité, l’analyse des écarts ou les gammes uniformes. Pour SVG, le résultat peut être converti en HEX ou RGB si le moteur de rendu ou les règles de validation attendent un format web traditionnel.
CMYK (Cyan, Magenta, Yellow, Key/Black) est orienté impression et repose sur le cyan, le magenta, le jaune et le noir. Il est courant en prépresse, mais ne constitue pas la syntaxe habituelle des attributs SVG ou du CSS des navigateurs. XYZ est un espace CIE indépendant du périphérique, utilisé en science des couleurs et dans les chaînes de conversion.
Utilisez CMYK pour les données d’impression et XYZ pour les conversions techniques ou la gestion des couleurs. Avant d’écrire fill, stroke ou stop-color dans un SVG web, convertissez ces couleurs vers une représentation RGB comme HEX ou RGB.
| Problème | Cause | Solution |
|---|---|---|
| Des couleurs équivalentes ne correspondent pas | Une couleur est nommée, l’autre est en HEX ou RGB | Normaliser les deux avec Color.FromString() et ToRgbHexString() avant comparaison |
| La transparence est perdue | Le code utilise ToRgbString() ou ToRgbHexString() pour RGBA | Utiliser ToRgbaHexString() afin de conserver l’alpha dans HEX |
| Une valeur SVG ne peut pas être analysée comme couleur | none, currentColor et url(#id) ne sont pas des couleurs directes | Filtrer ces valeurs avant Color.FromString() |
| La sortie diffère du texte source | La conversion normalise la notation ou la casse | Conserver la chaîne d’origine séparément si son format est important |
| Une chaîne CSS CMYK ou LAB est attendue | L’API représente ces modèles par des composantes | Utiliser Convert(ColorModel) pour obtenir les composantes choisies |
Comment convertir HEX en RGB avec C# ?
Analysez Color.FromString("#ff31ca"), puis appelez ToRgbString() pour obtenir rgb(255, 49, 202).
Comment convertir RGB en HEX avec C# ?
Utilisez Color.FromString("rgb(255, 49, 202)"), puis ToRgbHexString() pour obtenir une valeur #RRGGBB normalisée.
Puis-je convertir HSL en HEX avec C# ?
Oui. Analysez Color.FromString("hsl(315, 100%, 60%)"), puis appelez ToRgbHexString().
Puis-je analyser des noms de couleur CSS en C# ?
Oui. Color.FromString() accepte les noms CSS. Produisez ensuite la valeur avec ToRgbHexString() ou une autre méthode. Pour les exemples avec sortie attendue, choisissez un nom sans ambiguïté comme black.
Comment normaliser les couleurs SVG en HEX ?
Récupérez les couleurs directes des attributs ou styles SVG, ignorez none, currentColor et url(#id), analysez chaque valeur avec Color.FromString() et produisez ToRgbHexString().
Comment conserver la transparence pendant la conversion ?
Utilisez ToRgbaHexString() pour une sortie HEX à huit chiffres. RGB et HEX à six chiffres ne conservent pas le canal alpha.
Aspose.SVG peut-il convertir CMYK, LAB, LCH, OKLAB et OKLCH ?
Oui. La classe Color prend en charge plusieurs espaces. Utilisez Color.FromString() pour les chaînes CSS compatibles ou des méthodes comme FromCmyk(), FromLab(), FromLch(), FromOklab() et FromOklch().
Le Convertisseur de couleurs est une application gratuite pour transformer des valeurs entre formats. Saisissez un code pour obtenir immédiatement ses équivalents.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.