mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(docs-i18n): translate all documentation into 20 languages
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.
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
---
|
||||
description: "แปลงภาพเป็น base64 data URI เพื่อฝังใน HTML, CSS และอื่นๆ"
|
||||
i18n_source_hash: ba4b8f3b4ece
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 639591f76c1a
|
||||
---
|
||||
|
||||
# Image to Base64 {#image-to-base64}
|
||||
|
||||
แปลงภาพหนึ่งภาพหรือมากกว่าเป็นสตริงที่เข้ารหัส base64 และ data URI รองรับการแปลงรูปแบบ การควบคุมคุณภาพ และการปรับขนาดที่เป็นทางเลือก มีประโยชน์สำหรับการฝังภาพโดยตรงใน HTML, CSS, JSON หรือเทมเพลตอีเมล
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/image/image-to-base64`
|
||||
|
||||
รับข้อมูลแบบ multipart form data ที่มีไฟล์ภาพหนึ่งไฟล์หรือมากกว่า และฟิลด์ JSON `settings` ที่เป็นทางเลือก
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| outputFormat | string | No | `"original"` | แปลงก่อนการเข้ารหัส: `original`, `jpeg`, `png`, `webp`, `avif`, `jxl` |
|
||||
| quality | number | No | `80` | คุณภาพผลลัพธ์สำหรับรูปแบบ lossy (1 ถึง 100) |
|
||||
| maxWidth | number | No | `0` | ความกว้างสูงสุดเป็นพิกเซล (0 = ไม่ปรับขนาด จะไม่ขยาย) |
|
||||
| maxHeight | number | No | `0` | ความสูงสูงสุดเป็นพิกเซล (0 = ไม่ปรับขนาด จะไม่ขยาย) |
|
||||
|
||||
## Example Request {#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}'
|
||||
```
|
||||
|
||||
หลายไฟล์:
|
||||
|
||||
```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"}'
|
||||
```
|
||||
|
||||
## Example Response {#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": []
|
||||
}
|
||||
```
|
||||
|
||||
## Response Fields {#response-fields}
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| results | array | ภาพที่แปลงสำเร็จ |
|
||||
| errors | array | ภาพที่ประมวลผลล้มเหลว (พร้อมชื่อไฟล์และข้อความแสดงข้อผิดพลาด) |
|
||||
|
||||
### Result Object {#result-object}
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| filename | string | ชื่อไฟล์เดิม |
|
||||
| mimeType | string | MIME type ของผลลัพธ์ที่เข้ารหัส |
|
||||
| width | number | ความกว้างสุดท้ายเป็นพิกเซล (หลังจากการปรับขนาด) |
|
||||
| height | number | ความสูงสุดท้ายเป็นพิกเซล (หลังจากการปรับขนาด) |
|
||||
| originalSize | number | ขนาดไฟล์เดิมเป็นไบต์ |
|
||||
| encodedSize | number | ขนาดของสตริง base64 เป็นไบต์ |
|
||||
| overheadPercent | number | เปอร์เซ็นต์ความแตกต่างของขนาดเทียบกับต้นฉบับ (บวก = ใหญ่ขึ้น, ลบ = เล็กลง) |
|
||||
| base64 | string | ข้อมูลภาพที่เข้ารหัส base64 ดิบ |
|
||||
| dataUri | string | data URI ที่สมบูรณ์พร้อมใช้งานในแอตทริบิวต์ `src` |
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- การเข้ารหัส base64 มักเพิ่มขนาดประมาณ 33% เมื่อเทียบกับไฟล์ไบนารี ฟิลด์ `overheadPercent` แสดงความแตกต่างที่แท้จริง
|
||||
- เมื่อ `outputFormat` เป็น `"original"` ไฟล์ HEIC/HEIF จะถูกแปลงเป็น JPEG (เนื่องจากเบราว์เซอร์ไม่สามารถแสดง HEIC ใน data URI ได้)
|
||||
- ตัวเลือก `maxWidth` และ `maxHeight` ปรับขนาดโดยใช้ `fit: inside` ร่วมกับ `withoutEnlargement` ดังนั้นภาพที่เล็กกว่าขนาดที่ระบุจะไม่ถูกขยาย
|
||||
- สามารถประมวลผลหลายไฟล์ในคำขอเดียว แต่ละไฟล์ถูกประมวลผลแยกกัน และความล้มเหลวไม่ทำให้ไฟล์อื่นๆ ล้มเหลว
|
||||
- ไฟล์ SVG จะถูกส่งผ่านเป็น `image/svg+xml` โดยไม่มีการเข้ารหัสซ้ำ (เว้นแต่มีการร้องขอการแปลงรูปแบบ)
|
||||
- นี่คือ endpoint แบบอ่านอย่างเดียว ไม่ผลิตไฟล์ที่ดาวน์โหลดได้หรือ `jobId` ข้อมูล base64 จะถูกคืนค่าโดยตรงในเนื้อหาการตอบกลับ
|
||||
Reference in New Issue
Block a user