mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
3.4 KiB
3.4 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Nakładaj obrazy z określoną pozycją, przezroczystością i trybami mieszania w celu kompozycji. | c5d09eb13fde | human | d43fc1e1545b |
Kompozycja obrazów
Nałóż obraz nakładki na obraz bazowy z konfigurowalną pozycją, przezroczystością i trybem mieszania. Przydatne do komponowania logotypów, grafik lub łączenia wielu obrazów.
Punkt końcowy API
POST /api/v1/tools/image/compose
Przyjmuje dane formularza multipart z dwoma plikami obrazów oraz polem JSON settings.
Parametry
| Parametr | Typ | Wymagany | Domyślnie | Opis |
|---|---|---|---|---|
| x | number | Nie | 0 |
Poziome przesunięcie nakładki od lewego górnego rogu w pikselach (min 0) |
| y | number | Nie | 0 |
Pionowe przesunięcie nakładki od lewego górnego rogu w pikselach (min 0) |
| opacity | number | Nie | 100 |
Procent przezroczystości nakładki (od 0 do 100) |
| blendMode | string | Nie | "over" |
Tryb mieszania podczas kompozycji |
Tryby mieszania
| Wartość | Opis |
|---|---|
over |
Zwykłe nałożenie (domyślne) |
multiply |
Przyciemnianie przez mnożenie wartości pikseli |
screen |
Rozjaśnianie przez odwrócenie, mnożenie i ponowne odwrócenie |
overlay |
Łączy mnożenie i rozjaśnianie w zależności od jasności bazy |
darken |
Zachowuje ciemniejszy piksel z każdej warstwy |
lighten |
Zachowuje jaśniejszy piksel z każdej warstwy |
hard-light |
Nałożenie o silnym kontraście |
soft-light |
Nałożenie o subtelnym kontraście |
difference |
Wartość bezwzględna różnicy między warstwami |
exclusion |
Podobne do różnicy, ale o niższym kontraście |
Pola plików
| Nazwa pola | Wymagane | Opis |
|---|---|---|
| file | Tak | Obraz bazowy/tło |
| overlay | Tak | Obraz nakładki/pierwszego planu |
Przykładowe żądanie
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"}'
Użycie trybu mieszania multiply:
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"}'
Przykładowa odpowiedź
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/background.jpg",
"originalSize": 3200000,
"processedSize": 3450000
}
Uwagi
- Oba obrazy są walidowane i dekodowane (obsługiwane HEIC, RAW, PSD, SVG) przed kompozycją.
- Nakładka jest umieszczana dokładnie we współrzędnych pikselowych określonych przez
xiy. Nie jest skalowana do dopasowania. - Jeśli przezroczystość jest mniejsza niż 100, przed mieszaniem do nakładki stosowana jest maska alfa.
- Nakładka może wykraczać poza granice obrazu bazowego (zostanie wtedy przycięta).
- Orientacja EXIF jest automatycznie stosowana do obu obrazów przed przetwarzaniem.
- Wymiary wyjściowe odpowiadają wymiarom obrazu bazowego.