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.
4.8 KiB
4.8 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| สร้าง QR code ด้วยสีที่กำหนดเองและระดับการแก้ไขข้อผิดพลาด | 096ef4d90da5 | human | 04f877f58cab |
QR Code Generator
สร้างรูปภาพ QR code จากข้อความหรือ URL พร้อมกำหนดขนาด ระดับการแก้ไขข้อผิดพลาด และสีพื้นหน้า/พื้นหลังที่กำหนดเองได้
API Endpoint
POST /api/v1/tools/image/qr-generate
รับ JSON body (ไม่ใช่ multipart) ไม่จำเป็นต้องอัปโหลดไฟล์
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| text | string | Yes | - | เนื้อหาที่จะเข้ารหัสใน QR code (1 ถึง 2000 อักขระ) |
| size | number | No | 400 |
ความกว้าง/ความสูงของรูปภาพเอาต์พุตเป็นพิกเซล (100 ถึง 10000) |
| errorCorrection | string | No | "M" |
ระดับการแก้ไขข้อผิดพลาด: L (7%), M (15%), Q (25%), H (30%) |
| foreground | string | No | "#000000" |
สีพื้นหน้า/โมดูลของ QR code แบบ hex (#RRGGBB) |
| background | string | No | "#FFFFFF" |
สีพื้นหลังของ QR code แบบ hex (#RRGGBB) |
| logoDataUri | string | No | - | รูปภาพโลโก้เป็น data URI (data:image/png;base64,... หรือ data:image/jpeg;base64,... สูงสุด 700 KB) จัดวางไว้ตรงกลาง QR code ที่ 22% ของขนาด QR บังคับการแก้ไขข้อผิดพลาดเป็น H |
Error Correction Levels
| Level | Recovery | Use Case |
|---|---|---|
L |
~7% | ความหนาแน่นข้อมูลสูงสุด |
M |
~15% | สมดุล (ค่าเริ่มต้น) |
Q |
~25% | เหมาะกับโค้ดที่พิมพ์ |
H |
~30% | ดีที่สุดสำหรับโค้ดที่มีโลโก้ซ้อนทับ |
Example Request
curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "https://snapotter.com", "size": 500, "errorCorrection": "H"}'
QR code แบบมีแบรนด์พร้อมสีที่กำหนดเอง:
curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "Hello World", "size": 300, "foreground": "#1a365d", "background": "#f7fafc"}'
Example Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/qrcode.png",
"originalSize": 0,
"processedSize": 4520
}
Notes
- endpoint นี้รับ JSON ไม่ใช่ multipart form data เนื่องจากไม่ต้องอัปโหลดรูปภาพ
- เอาต์พุตเป็นรูปภาพ PNG เสมอ
- ชื่อไฟล์เอาต์พุตคือ
qrcode.pngเสมอ originalSizeเป็น 0 เสมอ เนื่องจากเครื่องมือนี้สร้างรูปภาพขึ้นใหม่ตั้งแต่ต้น- มี quiet zone (ขอบ) ขนาด 2 โมดูลล้อมรอบ QR code
- ความยาวข้อความสูงสุดคือ 2000 อักขระ ความจุจริงขึ้นอยู่กับระดับการแก้ไขข้อผิดพลาดและการเข้ารหัสอักขระ
- ระดับการแก้ไขข้อผิดพลาดที่สูงขึ้นทำให้ QR code ยังสแกนได้แม้จะถูกบดบังบางส่วน แต่จะลดความจุข้อมูล
- เมื่อระบุ
logoDataUriการแก้ไขข้อผิดพลาดจะถูกบังคับเป็นH(30%) โดยอัตโนมัติ เพื่อให้ QR code ยังสแกนได้แม้โลโก้จะบดบังตรงกลาง