Heim >Web-Frontend >CSS-Tutorial >Wie konvertiere ich RGB-Farbwerte in Python in englische Farbnamen?

Wie konvertiere ich RGB-Farbwerte in Python in englische Farbnamen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 23:08:301102Durchsuche

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

So konvertieren Sie RGB-Farben in englische Farbnamen in Python

Beim Umgang mit Bildern oder Farbmanipulationen in Python kann es vorkommen, dass Sie müssen ein RGB-Farbtupel in den entsprechenden englischen Farbnamen konvertieren. Leider bietet Python von Haus aus keine einfache Möglichkeit, dies zu tun.

Dank der Webcolors-Bibliothek können Sie diese Aufgabe jedoch problemlos erledigen. webcolors bietet die Funktion rgb_to_name(), die ein 3-Tupel von RGB-Werten als Eingabe verwendet und den nächstgelegenen CSS3-Farbnamen zurückgibt. Zum Beispiel:

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

Wenn Sie den ähnlichsten englischen Farbnamen für einen bestimmten RGB-Wert finden möchten, können Sie den folgenden Code verwenden:

<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>

Diese Funktion misst den Euklidischen Abstand zwischen der angegebenen RGB-Farbe und allen CSS3-Farben, wobei der Farbname mit dem kleinsten Abstand zurückgegeben wird.

Um den Farbnamen tatsächlich abzurufen, können Sie ihn wie folgt verwenden:

<code class="python">color_name = closest_color((119, 172, 152))
print(color_name)  # Outputs: 'cadetblue'</code>

In In diesem Beispiel lautet das Ergebnis „cadetblue“, was der Name der Farbe ist, die (119, 172, 152) im CSS3-Farbraum am nächsten kommt.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich RGB-Farbwerte in Python in englische Farbnamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn