Files
SnapOtter/apps/docs/de/tools/image/compose.md
T

88 lines
3.4 KiB
Markdown
Raw Normal View History

---
description: "Legt Bilder mit Position, Deckkraft und Mischmodi für die Komposition übereinander."
i18n_source_hash: c5d09eb13fde
i18n_provenance: human
i18n_output_hash: 1b6ea6385e27
---
# Bildkomposition {#image-composition}
Legt ein Overlay-Bild mit konfigurierbarer Position, Deckkraft und Mischmodus über ein Basisbild. Nützlich zum Zusammenstellen von Logos, Grafiken oder zum Kombinieren mehrerer Bilder.
## API-Endpunkt {#api-endpoint}
`POST /api/v1/tools/image/compose`
Akzeptiert Multipart-Formulardaten mit **zwei** Bilddateien und einem JSON-Feld `settings`.
## Parameter {#parameters}
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|-----------|------|----------|---------|-------------|
| x | number | Nein | `0` | Horizontaler Versatz des Overlays von der oberen linken Ecke in Pixeln (min. 0) |
| y | number | Nein | `0` | Vertikaler Versatz des Overlays von der oberen linken Ecke in Pixeln (min. 0) |
| opacity | number | Nein | `100` | Deckkraft des Overlays in Prozent (0 bis 100) |
| blendMode | string | Nein | `"over"` | Mischmodus für die Komposition |
### Mischmodi {#blend-modes}
| Wert | Beschreibung |
|-------|-------------|
| `over` | Normales Overlay (Standard) |
| `multiply` | Abdunkeln durch Multiplizieren der Pixelwerte |
| `screen` | Aufhellen durch Invertieren, Multiplizieren und erneutes Invertieren |
| `overlay` | Kombiniert Multiplizieren und Negativ multiplizieren je nach Helligkeit des Basisbildes |
| `darken` | Behält das dunklere Pixel jeder Ebene |
| `lighten` | Behält das hellere Pixel jeder Ebene |
| `hard-light` | Starkes Kontrast-Overlay |
| `soft-light` | Dezentes Kontrast-Overlay |
| `difference` | Absolute Differenz zwischen den Ebenen |
| `exclusion` | Ähnlich wie Differenz, aber mit geringerem Kontrast |
### Dateifelder {#file-fields}
| Feldname | Erforderlich | Beschreibung |
|------------|----------|-------------|
| file | Ja | Das Basis-/Hintergrundbild |
| overlay | Ja | Das Overlay-/Vordergrundbild |
## Beispielanfrage {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/compose \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@background.jpg" \
-F "overlay=@graphic.png" \
-F 'settings={"x": 100, "y": 50, "opacity": 80, "blendMode": "over"}'
```
Mit dem Mischmodus Multiplizieren:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/compose \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F "overlay=@texture.jpg" \
-F 'settings={"x": 0, "y": 0, "opacity": 50, "blendMode": "multiply"}'
```
## Beispielantwort {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/background.jpg",
"originalSize": 3200000,
"processedSize": 3450000
}
```
## Hinweise {#notes}
- Beide Bilder werden vor der Komposition validiert und dekodiert (HEIC, RAW, PSD, SVG werden unterstützt).
- Das Overlay wird an den exakten Pixelkoordinaten platziert, die durch `x` und `y` angegeben werden. Es wird nicht passend skaliert.
- Ist die Deckkraft kleiner als 100, wird vor dem Mischen eine Alphamaske auf das Overlay angewendet.
- Das Overlay kann über die Grenzen des Basisbildes hinausragen (es wird dann beschnitten).
- Die EXIF-Ausrichtung wird vor der Verarbeitung automatisch auf beide Bilder angewendet.
- Die Ausgabeabmessungen entsprechen den Abmessungen des Basisbildes.