Maison > interface Web > tutoriel CSS > le corps du texte

Comment convertir les valeurs de couleur RVB en noms de couleurs anglais en Python ?

Linda Hamilton
Libérer: 2024-10-30 23:08:30
original
998 Les gens l'ont consulté

How do I convert RGB color values to English color names in Python?

Comment convertir la couleur RVB en nom de couleur anglais en Python

Lorsque vous traitez des images ou des manipulations de couleurs en Python, vous pouvez rencontrer des situations où vous devez convertir un tuple de couleur RVB en son nom de couleur anglais correspondant. Malheureusement, Python ne fournit pas nativement un moyen simple de le faire.

Cependant, grâce à la bibliothèque webcolors, vous pouvez facilement accomplir cette tâche. webcolors propose la fonction rgb_to_name(), qui prend un triplet de valeurs RVB en entrée et renvoie le nom de couleur CSS3 le plus proche. Par exemple :

<code class="python">import webcolors
rgb_color = (119, 172, 152)
color_name = webcolors.rgb_to_name(rgb_color)
print(color_name)  # Outputs: 'cadetblue'</code>
Copier après la connexion

Si vous souhaitez trouver le nom de couleur anglais le plus similaire pour une valeur RVB donnée, vous pouvez utiliser le code suivant :

<code class="python">def closest_color(rgb_color):
    min_distance = float('inf')
    closest_name = None

    for hex_code, color_name in webcolors.CSS3_HEX_TO_NAMES.items():
        r, g, b = webcolors.hex_to_rgb(hex_code)
        r_diff = (r - rgb_color[0]) ** 2
        g_diff = (g - rgb_color[1]) ** 2
        b_diff = (b - rgb_color[2]) ** 2
        distance = r_diff + g_diff + b_diff

        if distance < min_distance:
            min_distance = distance
            closest_name = color_name

    return closest_name</code>
Copier après la connexion

Cette fonction mesure l'Euclide distance entre la couleur RVB donnée et toutes les couleurs CSS3, renvoyant le nom de la couleur avec la plus petite distance.

Pour récupérer réellement le nom de la couleur, vous pouvez l'utiliser comme suit :

<code class="python">color_name = closest_color((119, 172, 152))
print(color_name)  # Outputs: 'cadetblue'</code>
Copier après la connexion

Dans Dans cet exemple, le résultat est « cadetblue », qui est le nom de la couleur la plus proche de (119, 172, 152) dans l'espace colorimétrique CSS3.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!