Pin-Light-Mischung
#C0C0C0 über #808080 ergibt #818181: Die hellen Kanäle der oberen Ebene heben die Basis nur leicht an, von 128 auf 129. Lichtpunkt lässt die Basis unverändert, solange die obere Ebene nicht deutlich dunkler oder heller ist. Gratis in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Basis
- #808080
- Top
- #C0C0C0
- Hex
- #818181
- RGB-Zeichenkette
- rgb(129, 129, 129)
- Modus R
- lighten
- Modus G
- lighten
Pin Light ist ein klassischer Kompositions-Mischmodus, der jeden Kanal einer Basisfarbe durch einen dunkleren oder helleren Wert ersetzt, abhängig von der oberen (Misch-)Farbe. Liegt ein oberer Kanal unter dem Mittelgrau, dunkelt der Modus ab: das Ergebnis ist das Minimum aus Basiskanal und dem Doppelten des oberen Kanals. Liegt ein oberer Kanal beim Mittelgrau oder darüber, hellt der Modus auf: das Ergebnis ist das Maximum aus Basiskanal und dem Doppelten des oberen Kanals minus zweihundertfünfundfünfzig. Designer, Textur-Künstler und Pipeline-Ingenieure greifen zu Pin Light, wenn sie einen knappen selektiven Kontrast ohne vollständigen Bildeditor brauchen — Überlagerung einer Highlight-Maske, Straffen von Schatten unter einer Mittleton-Fläche oder Abgleich von Photoshop-Pin-Light-Vorschauen in automatisierten Theme-Werkzeugen. Diese Fähigkeit akzeptiert zwei validierte Hex-Farben, wendet dieselbe deterministische Regel pro Kanal auf Rot, Grün und Blau an und liefert den gemischten Swatch als Hex und RGB.
Wie Pin Light pro Kanal Abdunkeln oder Aufhellen wählt
Pin Light behandelt die obere Farbe als Entscheidungsfläche, nicht als einfaches Mischverhältnis. Für jeden Kanal im Bereich von null bis zweihundertfünfundfünfzig vergleichen Sie den oberen Kanal mit dem Mittelgrau (einhundertachtundzwanzig). Ist der obere Kanal streng kleiner als einhundertachtundzwanzig, läuft der Abdunkelungszweig: das Doppelte des oberen Kanals wird zur oberen Schranke, und das Ergebnis ist das Kleinere aus dieser Schranke und dem Basiskanal.
Visuell zieht das helle Basispixel dort herunter, wo die obere Ebene ein tiefer Schatten ist. Ist der obere Kanal größer oder gleich einhundertachtundzwanzig, läuft der Aufhellungszweig: das Doppelte des oberen Kanals minus zweihundertfünfundfünfzig wird zur unteren Schranke, und das Ergebnis ist das Größere aus dieser Schranke und dem Basiskanal. Das hebt dunkle Basispixel dort an, wo die obere Ebene ein helles Highlight ist.
Obere Kanäle im Mittelgrau sitzen an der Grenze und lassen Basiswerte oft weitgehend unberührt, weil die Hüllen von Abdunkeln und Aufhellen nahe der Basis zusammentreffen. Die Reihenfolge zählt: base und top zu tauschen ist eine andere Operation, anders als ein fünfzig-prozentiger RGB-Lerp.
Eingabevertrag, Antwortfelder und Validierungsfehler
Jeder Wert muss eine drei- oder sechsstellige Hexadezimalfarbe mit optionalem hash- oder zero-x-Präfix sein. CSS-Farbnamen und rgb-Klammerstrings liegen außerhalb des Umfangs — normalisieren Sie sie stromaufwärts. Validierungsfehler werden nicht berechnet.
Nutzen Sie Hex, wenn Sie ein einzelnes Token für Theme-Dateien brauchen; nutzen Sie rgb, wenn Canvas-Code oder Barrierefreiheits-Werkzeuge getrennte Kanäle erwarten; nutzen Sie die mode_*-Labels beim Erklären oder Debuggen, welcher Zweig bei einer gemischten Grau-und-Farbton-Oberfarbe feuerte.
Workflows, Preise und Unterschiede zu anderen Farbwerkzeugen
Rufen Sie die kostenlose Pin-Light-Mischung im Browser für schnelle Maskenprüfungen, Logo-Überlagerungsversuche und Textur-Vorschauen auf, ohne eine Desktop-Suite zu installieren. Pin Light ist die richtige Suchintention, wenn Nutzer pin light blend mode, pin light zwei farben oder Photoshop pin light hex tippen — diese Anfragen bedient kein generischer Mischer. Halten Sie Anfragen auf zwei Hex-Strings, vermeiden Sie benannte Farben ohne Konvertierung und dokumentieren Sie, dass base die untere Ebene ist, damit das Team die Reihenfolge nie versehentlich umkehrt.
Autoren, die SDKs mappen, können Hex und die drei Mode-Labels neben Farbwählern zeigen, die Studierende und Produktionsdesigner bereits erwarten.
Anwendungsfälle
Selektive Highlight- und Schatten-Überlagerungen
Komponieren Sie eine Mittleton-Panelfarbe unter einem oberen Masken-Hex, sodass dunkle obere Kanäle Schatten vertiefen und helle Kanäle Highlights verstärken — ohne vollständigen Bildeditor.
Spiel- und UI-Material abstimmen
Material-Autoren mischen ein Basis-Albedo-Token mit einer oberen Beleuchtungshinweis-Farbe, um Pin-Light-Akzent-Swatches für HUD-Skins und Prop-Paletten zu erzeugen.
Häufige Fragen
Wie mischt Pin Light zwei Farben?
Pro RGB-Kanal: ist top unter 128, ist das Ergebnis min(base, 2×top) (darken); ist top 128 oder höher, max(base, 2×top−255) (lighten). Senden Sie base und top als Hex.
Was ist der Unterschied zwischen base und top?
Base ist die Farbe der unteren Ebene. Top ist die Mischfarbe, die pro Kanal Abdunkeln oder Aufhellen wählt. Die Reihenfolge zählt; Tauschen ergibt ein anderes Resultat.
Was passiert bei einem ungültigen Hex-Code?
Beide Farben müssen 3- oder 6-stellige Hexadezimalwerte sein (optionales #). Falsche Länge oder Nicht-Hex-Ziffern werden abgelehnt und nicht berechnet.
Ist das dasselbe wie color.mix?
Nein. color.mix macht einen linearen RGB-Lerp nach Ratio. Pin Light nimmt nie ein Ratio: allein der top-Kanal wählt Abdunkeln oder Aufhellen. Anderer Algorithmus und andere Suchintention.
Was ergibt #C0C0C0 über #808080?
Das Ergebnis ist #818181. Jeder obere Kanal liegt mit 192 über dem mittleren Grau; das Doppelte davon minus 255 ergibt 129, knapp über den 128 der Basis, die deshalb um eine Stufe steigt.
Verwandte Tools
Für Entwickler — API-Zugang
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.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/color/pin-light \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base":"#808080","top":"#C0C0C0"}'const res = await fetch("https://api.kit.forhosting.com/color/pin-light", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base": "#808080",
"top": "#C0C0C0"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/pin-light",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base": "#808080",
"top": "#C0C0C0"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/pin-light", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base":"#808080","top":"#C0C0C0"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base":"#808080","top":"#C0C0C0"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/pin-light", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"base": "#808080",
"top": "#C0C0C0"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.pin_light",
"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.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ungültige oder fehlende Eingaben scheitern mit invalid_input, damit Skripte nie still eine falsche Farbe ausliefern. Der kostenlose Browser-Pfad und die Prepaid-API teilen ein reines Modul, sodass Goldens bitidentisch bleiben bei $0.002 pro erfolgreichem Element.
Wie Pin Light pro Kanal Abdunkeln oder Aufhellen wählt
Der Algorithmus ist reine Arithmetik ohne Netz, ohne Zufalls-Seed und ohne Wanduhr, sodass identische Eingaben stets dasselbe JSON erzeugen.
Eingabevertrag, Antwortfelder und Validierungsfehler
Senden Sie einen JSON-Body mit zwei erforderlichen String-Feldern: base (die untere Ebene) und top (die Mischebene, die Abdunkeln oder Aufhellen wählt). Die Aliase color1, bottom, hex1, from und background mappen auf base; color2, blend, hex2, to und foreground mappen auf top, sodass ältere Formularfelder und Design-Tool-Vokabular sauber anschließen. Bei Erfolg spiegelt die Nutzlast normalisiertes base- und top-Hex, die Kanalobjekte base_rgb und top_rgb, das gemischte Hex, rgb als ganze Zahlen r g b, rgb_string zum Einfügen in CSS, mode_r mode_g und mode_b als die Wörter darken oder lighten pro Kanal sowie method stets gleich pin_light, damit Clients verzweigen können ohne Formen zu erschnüffeln. Fehlende base, fehlende top, leere Strings, Nicht-Hex-Ziffern und falsche Längen scheitern mit invalid_input; Meldungen nennen das Feld, damit die Formularvalidierung das genaue Steuerelement markiert.
Workflows, Preise und Unterschiede zu anderen Farbwerkzeugen
Nutzen Sie die Prepaid-API, wenn eine Design-System-Pipeline, ein Spielmaterial-Generator, ein E-Commerce-Swatch-Dienst oder ein Marketing-Asset-Bot einen stabilen Vertrag unter KIT-Guthaben zu $0.002 pro erfolgreichem Element braucht. Kombinieren Sie diesen Endpunkt mit color.mix, wenn Sie einen Ratio-Lerp statt selektivem Abdunkeln oder Aufhellen brauchen, mit color.mix_subtractive für farbenartigen RYB-Schlamm und mit color.lighten oder color.darken, wenn nur eine Farbe prozentual verschoben werden soll.
Integrationsbeispiele
Photoshop-Pin-Light-Vorschauen in CI abgleichen
Theme- und Textur-Pipelines rufen die API auf, damit automatisierte Builds dasselbe Pin-Light-Hex reproduzieren, das der Designer in Photoshop sah — bitidentisch bei jedem Lauf.
Technische Fragen
Ist der Pin-Light-Mischer kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen Prepaid-KIT-Guthaben zu $0.002 pro erfolgreichem Element; Validierungsfehler werden nicht berechnet.