Search K
Farbe ersetzen & umkehren
Ersetze Pixel, die einer Quellfarbe entsprechen, durch eine Zielfarbe oder mache sie transparent. Verwendet die euklidische Distanz im RGB-Raum mit konfigurierbarer Toleranz für sanfte Übergänge an Farbgrenzen.
API-Endpunkt
POST /api/v1/tools/image/replace-color
Akzeptiert Multipart-Formulardaten mit einer Bilddatei und einem JSON-Feld settings.
Parameter
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
| sourceColor | string | Nein | "#FF0000" | Zu findende Hex-Farbe (Format: #RRGGBB) |
| targetColor | string | Nein | "#00FF00" | Hex-Farbe, durch die ersetzt wird (Format: #RRGGBB) |
| makeTransparent | boolean | Nein | false | Übereinstimmende Pixel transparent machen, statt sie durch die Zielfarbe zu ersetzen |
| tolerance | number | Nein | 30 | Toleranz für die Farbübereinstimmung (0 bis 255). Höhere Werte erfassen einen größeren Bereich ähnlicher Farben |
Beispielanfrage
bash
curl -X POST http://localhost:1349/api/v1/tools/image/replace-color \
-H "Authorization: Bearer si_your-api-key" \
-F "[email protected]" \
-F 'settings={"sourceColor": "#FF0000", "targetColor": "#0000FF", "tolerance": 40}'Einen grünen Hintergrund transparent machen:
bash
curl -X POST http://localhost:1349/api/v1/tools/image/replace-color \
-H "Authorization: Bearer si_your-api-key" \
-F "[email protected]" \
-F 'settings={"sourceColor": "#00FF00", "makeTransparent": true, "tolerance": 50}'Beispielantwort
json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.png",
"originalSize": 2450000,
"processedSize": 2100000
}Hinweise
- Die Farbübereinstimmung verwendet die euklidische Distanz im RGB-Raum, skaliert durch
tolerance * sqrt(3). - Die Überblendung beim Ersetzen ist proportional zur Farbdistanz: Pixel, die näher an der Quellfarbe liegen, erhalten mehr von der Zielfarbe, was sanfte Übergänge erzeugt.
- Wenn
makeTransparentauftruegesetzt ist, wird die Ausgabe auf PNG (oder WebP/AVIF) erzwungen, falls das Eingabeformat keine Alphakanäle unterstützt (z. B. JPEG). - Eine Toleranz von 0 erfasst nur die exakte Quellfarbe. Höhere Werte (50+) erfassen einen breiteren Bereich ähnlicher Farbtöne.
- Das Ausgabeformat entspricht dem Eingabeformat, sofern keine Transparenz benötigt wird und das Eingabeformat keine Alpha-Unterstützung bietet.
