ForHosting KIT · Bilder bearbeiten & analysieren

Farbe auf den nächstgelegenen Paletteneintrag quantisieren

#42A5F5 wird mit #000, #369, #ffffff und #3fa7f2 verglichen und landet auf #3fa7f2 an Position 3, mit einem quadrierten Abstand von 22. So bleiben gewählte Farben in dem Satz, den Marke, Gerät oder Dateiformat erlauben. Gratis in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Farbe
#42A5F5
Palette
#000, #369, #ffffff, #3fa7f2
Erhalten Sie
Farbe
#42a5f5
Quantisierte Farbe
#3fa7f2
Palettenindex
3
Abstand zum Quadrat
22

Quantisieren Sie eine Farbe auf eine feste Palette, wenn ein indiziertes Bild, ein Terminaldesign, eine LED-Steuerung, ein Design-Token-Satz oder ein eingeschränktes Exportformat nur freigegebene Farben verwenden darf. Geben Sie eine hexadezimale Ausgangsfarbe und eine geordnete Palette an. Die Funktion prüft jeden Wert, vergleicht exakte RGB-Abstände und liefert die nächste normalisierte Palettenfarbe, ihren nullbasierten Index und den quadrierten Abstand. Bei Gleichstand wird stets der frühere Eintrag gewählt, sodass wiederholte Ausführungen dasselbe Ergebnis erzeugen.

Stellen Sie eine bewusst geordnete feste Palette zusammen

Die Farbquantisierung beginnt mit den Farben, die das Ziel tatsächlich speichern oder anzeigen kann. Tragen Sie diese in einer stabilen, bewusst gewählten Reihenfolge als #RGB oder #RRGGBB in das Palettenarray ein. Kurzformen werden vor dem Vergleich erweitert; Groß- und Kleinschreibung beeinflussen das Ergebnis nicht.

Für die Ausgangsfarbe gilt dieselbe Schreibweise. Eine Palette darf zwischen einem und 256 Einträgen enthalten. Damit eignet sie sich für kleine Markenfarbsätze, Terminalfarben, klassische Tabellen indizierter Bilder, Stickgarnsortimente und zahlreiche gerätespezifische Farbkarten.

Die Reihenfolge spielt nur dann eine Rolle, wenn zwei Einträge genau gleich weit von der Ausgangsfarbe entfernt sind. In diesem Fall gewinnt der frühere. Diese klare Regel macht Gleichstände vorhersehbar und lässt Sie eine Präferenz ausdrücken, ohne Farbwerte zu verändern.

Verwenden Sie für einen gesamten Stapel dieselbe Palette, wenn die indizierte Ausgabe konsistent bleiben soll. Wird die Palette zwischen Aufträgen unbemerkt umsortiert, kann sich der zurückgegebene Index ändern, obwohl derselbe Farbwert ausgewählt wird. Die Prüfung weist leere oder übergroße Arrays, fehlende Präfixe, Alphakanäle, ungültige Ziffern und Werte zurück, die keine Zeichenketten sind, anstatt die beabsichtigte Eingabe zu erraten.

So funktioniert die deterministische Abstandsberechnung

Jede gültige Farbe wird auf sechs Hexadezimalstellen erweitert und in Rot-, Grün- und Blauwerte von 0 bis 255 zerlegt. Der Algorithmus zieht jeden Palettenkanal vom entsprechenden Ausgangskanal ab, quadriert die drei Differenzen und addiert sie. Gewählt wird der Paletteneintrag mit der kleinsten Summe.

Eine Quadratwurzel ist nicht erforderlich, weil sie die Reihenfolge nicht negativer Abstände nicht verändern kann. Es handelt sich um den gewöhnlichen euklidischen Abstand im codierten RGB-Raum. Er wurde für eine transparente, reproduzierbare Indexumwandlung gewählt und nicht als Modell der menschlichen Farbwahrnehmung.

Ein Kandidat wird nur bei einem strikt kleineren Wert ersetzt; ein gleicher Abstand verdrängt daher niemals den früheren Eintrag. Dieses Detail sorgt auch bei symmetrischen Paletten oder Duplikaten für eindeutige Ergebnisse. So können Sie den Index direkt speichern und den gewählten Hexadezimalwert zugleich für Protokolle, Vorschauen oder nachgelagerte Prüfungen behalten.

Indizierte Bilddaten erzeugen

Ordnen Sie abgetastete Pixel vor dem Schreiben einer indizierten Darstellung den Positionen einer festen Farbtabelle zu.

Markenfarben durchsetzen

Rasten Sie eine frei gewählte Farbe auf den nächsten Eintrag einer freigegebenen Designsystem-Palette ein.

Begrenzte Hardware ansteuern

Wählen Sie für LEDs, Anzeigen, Terminals oder andere Geräte mit eingeschränkten Farben den nächsten unterstützten RGB-Wert.

Welche Farbformate werden akzeptiert?

Die Ausgangsfarbe und jeder Paletteneintrag müssen als #RGB oder #RRGGBB geschrieben sein. Alphakanäle und Werte ohne Präfix werden abgelehnt.

Wie wird die nächstgelegene Farbe ermittelt?

Der Algorithmus minimiert die Summe der quadrierten Rot-, Grün- und Blaukanaldifferenzen im codierten RGB-Raum.

Was geschieht bei zwei gleich weit entfernten Farben?

Der in der Palette früher aufgeführte Eintrag gewinnt, wodurch das Ergebnis deterministisch bleibt.

Beginnt der zurückgegebene Palettenindex bei null?

Ja. Der erste Eintrag hat den Index 0, der zweite den Index 1 und so weiter.

Ist dies ein wahrnehmungsbezogener Farbvergleich?

Nein. Für eine einfache, exakte und reproduzierbare indizierte Ausgabe wird der direkte euklidische RGB-Abstand statt eines Wahrnehmungsmodells verwendet.

Wie viele Farben darf die Palette enthalten?

Von einer bis 256 Farben. Das reicht für kleine Markensätze, Terminalfarben, klassische Farbtabellen indizierter Bilder oder Garnauswahlen fürs Sticken. Leere oder zu große Paletten werden abgelehnt.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/color/quantize-to-palette

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/color/quantize-to-palette \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"color":"#42a5f5","palette":["#000000","#336699","#ffffff"]}'
{
  "color": "#42a5f5",
  "palette": [
    "#000000",
    "#336699",
    "#ffffff"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.quantize_to_palette",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_items256
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

So funktioniert die deterministische Abstandsberechnung

Der ausgegebene Wert distance_squared ist genau diese ganze Zahl. Die Berechnung ist schnell, unabhängig von der Umgebung und liefert im Browser sowie über die API dieselbe Antwort. Zusätzlich enthält die Ausgabe die normalisierte Ausgangsfarbe und den nullbasierten palette_index.

Setzen Sie das Ergebnis sicher in indizierten Abläufen ein

Die Zählung beginnt bei null und entspricht damit üblichen Array- und Bildverarbeitungskonventionen. Null bedeutet, dass die Ausgangsfarbe bereits in der Palette vorkam; ein größerer Wert weist auf stärkere Kanaländerungen hin. Ihre Anwendung kann einen fachlich geeigneten Höchstwert festlegen und zu große Abweichungen ablehnen. Die Funktion selbst gibt jedoch stets den mathematisch nächsten gültigen Eintrag aus und setzt keinen willkürlichen Grenzwert. Verarbeiten Sie mehrere Ausgangsfarben, indem Sie dieselbe reine Operation mit derselben geordneten Palette auf jedes Element anwenden. Für eine einzelne Zuordnung verwenden Sie quantized_color überall dort, wo das Ziel den gewählten Hexadezimalwert erwartet. Bei indizierter Speicherung dient palette_index als stabile Position innerhalb genau der Palette, die Sie mit der Anfrage übermittelt haben. Bewahren Sie die Palette zusammen mit gespeicherten Indizes auf: Nach einem Austausch oder einer Umsortierung besitzt ein Index allein keine eindeutige Farbbedeutung mehr. distance_squared unterstützt Qualitätsprüfungen. Netzwerk, Zufall, Datum, verborgener Zustand und adaptive Modelle werden nicht verwendet; identische Eingaben erzeugen identisches JSON. Die Automatisierung per API kostet $0.002 je Anfrage.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Die Browserversion führt dieselbe deterministische Logik lokal aus.

Vollständige KIT-Dokumentation lesen →