Wenden Sie einen Sepia-Filter auf RGB-Bildpixel an
Reines Rot, 255, 0, 0, wird mit der üblichen Sepia-Matrix zum warmen Braun 100, 89, 69, und jeder Kanal wird gerundet und zwischen 0 und 255 gehalten. Geben Sie decodierte RGB-Pixelwerte ein und erhalten Sie die Sepia-Fassung in derselben Reihenfolge. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Wenden Sie einen Sepia-Filter auf bereits dekodierte Bildpixel an, ohne eine Datei hochzuladen oder einen Bildcodec zu benötigen. Übergeben Sie eine geordnete Liste von RGB-Werten und erhalten Sie die entsprechenden warmbraunen Werte, die mit der Standard-Sepia-Transformationsmatrix berechnet wurden. Jeder transformierte Kanal wird gerundet und auf den gültigen Bereich von null bis 255 begrenzt. Die vollständige Prüfung verhindert, dass unvollständige oder fehlerhafte Pixel das Ergebnis unbemerkt verändern. Dank der deterministischen Verarbeitung eignet sich der Konverter für Produktionsabläufe, Browserprüfungen, Schulungen und exakte automatisierte Tests.
Bereiten Sie vollständige RGB-Pixelwerte vor
Tragen Sie die dekodierten Pixel als nicht leere Liste von Objekten in das Feld samples ein. Jedes Objekt muss die Kanäle r, g und b enthalten. Jeder Kanal muss eine endliche Zahl zwischen null und 255 einschließlich sein.
Üblicherweise werden Ganzzahlen verwendet, doch Bruchwerte sind zulässig, weil manche Bildabläufe vor der endgültigen Kodierung Zwischenergebnisse als Gleitkommazahlen erzeugen. Der Konverter prüft jeden Datensatz und setzt eine fehlende Komponente niemals stillschweigend auf null. Behalten Sie die Rasterreihenfolge bei, denn die Ausgabe entspricht exakt der Eingabereihenfolge.
Teilen Sie größere Raster in Blöcke fester Größe und verbinden Sie die Antworten in derselben Reihenfolge. Die Fähigkeit verarbeitet RGB-Werte, keine PNG-, JPEG-, AVIF- oder WebP-Bytes. Dekodieren Sie die Datei zuerst und bewahren Sie Breite, Höhe, Zeilenschritt, Ausrichtung und Alphakanal getrennt auf.
Verstehen Sie die Standard-Sepia-Transformation
Jedes Ausgabepixel entsteht aus drei gewichteten Summen. Rot wird als 0.393 mal r plus 0.769 mal g plus 0.189 mal b berechnet. Grün verwendet 0.349 mal r plus 0.686 mal g plus 0.168 mal b.
Blau verwendet 0.272 mal r plus 0.534 mal g plus 0.131 mal b. Diese bekannte Sepia-Matrix verändert Helligkeit und Kanalbalance, erzeugt von warmem Rot und Grün geprägte helle Bereiche und reduziert Blau. Der Konverter rundet jede Summe auf die nächste Ganzzahl und begrenzt sie anschließend auf den einschließenden Bereich von null bis 255.
Diese Begrenzung ist wichtig, weil die Matrixzeilen bei hellen Pixeln Werte über 255 liefern können. Ohne Begrenzung könnte ein nachfolgender Bytepuffer überlaufen, den Wert ablehnen oder eine unerwartete Farbe anzeigen. Die Antwort enthält neben den konvertierten Werten und ihrer Anzahl auch die Matrix.
Protokolle und Tests können damit die verwendete Transformation eindeutig festhalten. Die Verarbeitung ist rein und deterministisch: Sie nutzt weder Netzwerk noch Modell, Zufall, aktuelle Uhrzeit, verborgenes Farbprofil oder veränderlichen Cache. Sie linearisiert kein gammakorrigiertes RGB, wertet keine ICC-Profile aus, simuliert keinen chemischen Film, fügt kein Korn hinzu, erhält keine Transparenz und mischt das Ergebnis nicht mit dem Original.
Integrieren und prüfen Sie das Ergebnis
Verwenden Sie die zurückgegebene Liste samples als positionsgleichen Ersatz für die übergebene RGB-Liste. Das Feld count muss der Anzahl der Eingabedatensätze entsprechen. Vergleichen Sie beide Werte, bevor Sie eine Kachel, Zeile, Miniaturansicht, Canvas-Puffer oder ein vollständiges Raster wiederherstellen.
Besitzt das Original Transparenz, bewahren Sie die Alphawerte in einem parallelen Puffer auf und fügen Sie sie beim Kodieren wieder ein, da dieser Vertrag ausschließlich Rot, Grün und Blau transformiert. So können Sie einige repräsentative Pixel prüfen, bevor Sie einen größeren Ablauf automatisieren. Helles Weiß prüft die Begrenzung aller Ergebnisse auf 255.
Reine Farben decken versehentlich geänderte Koeffizienten oder Kanalreihenfolgen auf. Behandeln Sie Validierungsfehler als Fehler beim Dekodieren oder Erstellen der Anfrage und nicht als vorübergehende Störung, die unverändert wiederholt werden sollte. Korrigieren Sie fehlende Kanäle, Werte außerhalb des Bereichs oder NaN vor einer erneuten Übermittlung.
Anwendungsfälle
Erstellen Sie Sepia-Bildpuffer
Transformieren Sie dekodierte RGB-Pixel in warme Sepia-Werte, stellen Sie die ursprünglichen Rastermaße wieder her und kodieren Sie das Ergebnis.
Erzeugen Sie exakte Testreferenzen
Berechnen Sie deterministische Sollwerte für Tests von Canvas-Code, Bildbibliotheken und Pixel-Konvertierungsabläufen.
Häufige Fragen
Welche Sepia-Matrix wird verwendet?
Der Konverter nutzt die Zeilen [0.393, 0.769, 0.189], [0.349, 0.686, 0.168] und [0.272, 0.534, 0.131] für Rot, Grün und Blau.
Was geschieht, wenn ein transformierter Kanal 255 überschreitet?
Jedes gewichtete Ergebnis wird auf die nächste Ganzzahl gerundet und auf den einschließenden Bereich von null bis 255 begrenzt.
Werden kodierte Dateien angenommen oder Alphawerte erhalten?
Nein. Akzeptiert werden nur dekodierte RGB-Datensätze. Bewahren Sie Alpha und Bildmaße getrennt auf und kodieren Sie anschließend die Ausgabe.
Welche Farbe wird aus reinem Weiß in Sepia?
Es wird zu 255, 255, 239, einem warmen Cremeton. Die Summen für Rot und Grün liegen über 255 und werden am Maximum gehalten, während Blau etwas sinkt, das macht die hellen Stellen warm.
Was passiert, wenn einem Pixel ein Kanal fehlt?
Die gesamte Umwandlung bricht ab und nennt die Position und den fehlenden Kanal. Würde das Pixel übersprungen, verschöben sich alle folgenden, und ein ergänzter Wert würde eine Farbe erfinden, die Sie nie angegeben haben.
Bleibt die Reihenfolge der Pixel erhalten?
Ja, die Ausgabe hat genau die Reihenfolge der Eingabe. Geben Sie die Pixel in Rasterreihenfolge ein, wenn Sie das Bild danach wieder zusammensetzen, und teilen Sie große Bilder in Stücke, die Sie in derselben Reihenfolge verarbeiten.
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/image/sepia-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"samples":[{"r":255,"g":0,"b":0},{"r":30,"g":120,"b":220}]}'const res = await fetch("https://api.kit.forhosting.com/image/sepia-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"samples": [
{
"r": 255,
"g": 0,
"b": 0
},
{
"r": 30,
"g": 120,
"b": 220
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/sepia-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"samples": [
{
"r": 255,
"g": 0,
"b": 0
},
{
"r": 30,
"g": 120,
"b": 220
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/sepia-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"samples":[{"r":255,"g":0,"b":0},{"r":30,"g":120,"b":220}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"samples":[{"r":255,"g":0,"b":0},{"r":30,"g":120,"b":220}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/sepia-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"samples": [
{
"r": 255,
"g": 0,
"b": 0
},
{
"r": 30,
"g": 120,
"b": 220
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.sepia_convert",
"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.
Limits
max_samples | 100000 |
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
Bereiten Sie vollständige RGB-Pixelwerte vor
Fehlt beispielsweise in Wert 4 der Kanal b, schlägt die gesamte Anfrage mit invalid_input fehl und nennt den nullbasierten Index sowie den fehlenden Kanal. Diese strenge Behandlung schützt die Bildstruktur: Das Überspringen eines Datensatzes würde alle folgenden Pixel verschieben, während ein Ersatzwert Farbinformationen erfinden würde. Pro Anfrage sind bis zu hunderttausend Datensätze möglich.
Integrieren und prüfen Sie das Ergebnis
Browserausführung und API verwenden dieselbe Funktion solve. Die Browserausführung ist kostenlos; jede API-Anfrage kostet $0.002.
Integrationsbeispiele
Prüfen Sie repräsentative Farben
Testen Sie eine kleine Palette im Browser, bevor Sie dieselbe Matrix in einem automatisierten API-Ablauf einsetzen.
Technische Fragen
Was geschieht, wenn in einem Wert ein Kanal fehlt?
Die Anfrage schlägt mit invalid_input fehl und nennt den nullbasierten Index sowie den fehlenden Kanal r, g oder b.
Was kostet eine API-Anfrage?
Eine API-Anfrage kostet $0.002. Dieselbe deterministische Umwandlung können Sie im Browser kostenlos ausführen.