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.
97 lines
4.2 KiB
Markdown
97 lines
4.2 KiB
Markdown
---
|
||
description: "HTML, CSS ve daha fazlasına gömmek için görselleri base64 veri URI'lerine dönüştürün."
|
||
i18n_source_hash: ba4b8f3b4ece
|
||
i18n_provenance: human
|
||
i18n_output_hash: 380e67cfd1d3
|
||
---
|
||
|
||
# Görselden Base64'e {#image-to-base64}
|
||
|
||
Bir veya daha fazla görseli base64 kodlu dizelere ve veri URI'lerine dönüştürün. İsteğe bağlı biçim dönüştürme, kalite kontrolü ve yeniden boyutlandırmayı destekler. Görselleri doğrudan HTML, CSS, JSON veya e-posta şablonlarına gömmek için kullanışlıdır.
|
||
|
||
## API Uç Noktası {#api-endpoint}
|
||
|
||
`POST /api/v1/tools/image/image-to-base64`
|
||
|
||
Bir veya daha fazla görsel dosyası ve isteğe bağlı bir JSON `settings` alanı içeren multipart form verisini kabul eder.
|
||
|
||
## Parametreler {#parameters}
|
||
|
||
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|
||
|-----------|------|----------|---------|-------------|
|
||
| outputFormat | string | Hayır | `"original"` | Kodlamadan önce dönüştür: `original`, `jpeg`, `png`, `webp`, `avif`, `jxl` |
|
||
| quality | number | Hayır | `80` | Kayıplı biçimler için çıktı kalitesi (1 ile 100 arası) |
|
||
| maxWidth | number | Hayır | `0` | Piksel cinsinden maksimum genişlik (0 = yeniden boyutlandırma yok, büyütmez) |
|
||
| maxHeight | number | Hayır | `0` | Piksel cinsinden maksimum yükseklik (0 = yeniden boyutlandırma yok, büyütmez) |
|
||
|
||
## Örnek İstek {#example-request}
|
||
|
||
```bash
|
||
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
|
||
-H "Authorization: Bearer si_your-api-key" \
|
||
-F "file=@icon.png" \
|
||
-F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'
|
||
```
|
||
|
||
Birden fazla dosya:
|
||
|
||
```bash
|
||
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
|
||
-H "Authorization: Bearer si_your-api-key" \
|
||
-F "file=@icon1.png" \
|
||
-F "file=@icon2.png" \
|
||
-F "file=@icon3.png" \
|
||
-F 'settings={"outputFormat": "original"}'
|
||
```
|
||
|
||
## Örnek Yanıt {#example-response}
|
||
|
||
```json
|
||
{
|
||
"results": [
|
||
{
|
||
"filename": "icon.png",
|
||
"mimeType": "image/webp",
|
||
"width": 200,
|
||
"height": 200,
|
||
"originalSize": 45000,
|
||
"encodedSize": 28800,
|
||
"overheadPercent": -36.0,
|
||
"base64": "UklGRlYAAABXRUJQ...",
|
||
"dataUri": "data:image/webp;base64,UklGRlYAAABXRUJQ..."
|
||
}
|
||
],
|
||
"errors": []
|
||
}
|
||
```
|
||
|
||
## Yanıt Alanları {#response-fields}
|
||
|
||
| Alan | Tür | Açıklama |
|
||
|-------|------|-------------|
|
||
| results | array | Başarıyla dönüştürülen görseller |
|
||
| errors | array | İşlenemeyen görseller (dosya adı ve hata mesajıyla birlikte) |
|
||
|
||
### Sonuç Nesnesi {#result-object}
|
||
|
||
| Alan | Tür | Açıklama |
|
||
|-------|------|-------------|
|
||
| filename | string | Orijinal dosya adı |
|
||
| mimeType | string | Kodlanmış çıktının MIME türü |
|
||
| width | number | Piksel cinsinden nihai genişlik (herhangi bir yeniden boyutlandırma sonrası) |
|
||
| height | number | Piksel cinsinden nihai yükseklik (herhangi bir yeniden boyutlandırma sonrası) |
|
||
| originalSize | number | Bayt cinsinden orijinal dosya boyutu |
|
||
| encodedSize | number | Bayt cinsinden base64 dizesinin boyutu |
|
||
| overheadPercent | number | Orijinale kıyasla yüzde boyut farkı (pozitif = daha büyük, negatif = daha küçük) |
|
||
| base64 | string | Ham base64 kodlu görsel verisi |
|
||
| dataUri | string | `src` özniteliklerinde kullanıma hazır tam veri URI'si |
|
||
|
||
## Notlar {#notes}
|
||
|
||
- Base64 kodlama tipik olarak ikili dosyaya kıyasla boyutu yaklaşık %33 artırır. `overheadPercent` alanı gerçek farkı gösterir.
|
||
- `outputFormat` değeri `"original"` olduğunda, HEIC/HEIF dosyaları JPEG'e dönüştürülür (tarayıcılar HEIC'i veri URI'lerinde gösteremediği için).
|
||
- `maxWidth` ve `maxHeight` seçenekleri, `withoutEnlargement` ile `fit: inside` kullanarak yeniden boyutlandırır; bu nedenle belirtilen boyutlardan küçük görseller büyütülmez.
|
||
- Tek bir istekte birden fazla dosya işlenebilir. Her dosya bağımsız olarak işlenir ve başarısızlıklar diğer dosyaların başarılı olmasını engellemez.
|
||
- SVG dosyaları, yeniden kodlanmadan `image/svg+xml` olarak aktarılır (bir biçim dönüştürmesi istenmediği sürece).
|
||
- Bu, salt okunur bir uç noktadır. İndirilebilir bir dosya veya bir `jobId` üretmez. Base64 verisi doğrudan yanıt gövdesinde döndürülür.
|