J'ai un tas de Color
objets (.Net). Je veux les convertir en Hex, ce qui est assez simple avec quelque chose comme:Hex paire à raccourci hexagonal
Dim clr As Color = Color.FromArgb(255, 0, 0)
Dim clrString = ColorTranslator.ToHtml(clr)
Est-il possible en .Net ou par RegEx (ou d'une autre manière) que je peux déterminer si un raccourci Hex (comme #F00
) est disponible pour le Color
spécifié, puis le convertir en cela? Donc, pour les couleurs qui peuvent avoir un raccourci hexadécimal, convertir à cela, sinon, convertir en paire hexadécimale #FF0000
.
Merci Matthew. Malheureusement, cela ne m'empêche pas de travailler avec 'FF' et' 00'. Il ne fournit pas de correspondance pour une couleur comme Color.Olive, qui est '# 808000' et peut être écrite comme' # 880' dans le raccourci hexadécimal. –
A fait plus de recherche, s'avère que sténographie peut seulement être écrit à partir de paires hexagonales. Votre code fonctionne très bien! J'ai également découvert que si l'octet de valeur de couleur peut être divisé par 17 et retourner un entier (c'est-à-dire que ce n'est pas un flottant), alors il peut être écrit en sténographie. Je ne connais pas les maths derrière ça, mais c'est cool. –
17 est 0x11. Tous les octets avec des chiffres hexadécimaux doublés sont des multiples de cela. –