Search K
SVG to Raster
แปลงไฟล์ SVG เป็นรูปแบบภาพแรสเตอร์ (PNG, JPEG, WebP, AVIF, TIFF, GIF, HEIF หรือ JXL) ที่ความละเอียดและ DPI ที่กำหนดเอง รองรับการแปลง SVG หลายไฟล์แบบชุดด้วย
API Endpoint
POST /api/v1/tools/image/svg-to-raster
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| width | integer | No | - | ความกว้างเป้าหมายเป็นพิกเซล (1 ถึง 65536) รักษาสัดส่วนภาพหากกำหนดเพียงมิติเดียว |
| height | integer | No | - | ความสูงเป้าหมายเป็นพิกเซล (1 ถึง 65536) รักษาสัดส่วนภาพหากกำหนดเพียงมิติเดียว |
| dpi | integer | No | 300 | DPI ในการเรนเดอร์ ควบคุมความหนาแน่นพื้นฐานของการทำแรสเตอร์ (36 ถึง 2400) |
| quality | number | No | 90 | คุณภาพผลลัพธ์สำหรับรูปแบบแบบสูญเสียข้อมูล (1 ถึง 100) |
| backgroundColor | string | No | "#00000000" | สีพื้นหลังแบบ hex (6 หรือ 8 อักขระ, 8 อักขระรวมค่า alpha) |
| outputFormat | string | No | "png" | รูปแบบผลลัพธ์: png, jpg, webp, avif, tiff, gif, heif, jxl |
Example Request
bash
curl -X POST http://localhost:1349/api/v1/tools/image/svg-to-raster \
-F "[email protected]" \
-F 'settings={"width":1024,"dpi":300,"outputFormat":"png","backgroundColor":"#FFFFFF"}'Example Response
json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/logo.png",
"previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.webp",
"originalSize": 12345,
"processedSize": 67890
}Batch Endpoint
POST /api/v1/tools/image/svg-to-raster/batch
แปลงไฟล์ SVG หลายไฟล์ในคำขอเดียว คืนค่าเป็นไฟล์ ZIP
Additional Batch Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| clientJobId | string | No | - | job ID ที่ไคลเอนต์กำหนดสำหรับติดตามความคืบหน้า (ไม่บังคับ, สูงสุด 128 อักขระ) |
Batch Example Request
bash
curl -X POST http://localhost:1349/api/v1/tools/image/svg-to-raster/batch \
-F "[email protected]" \
-F "[email protected]" \
-F "[email protected]" \
-F 'settings={"width":512,"outputFormat":"png","dpi":150}'Batch Response
endpoint แบบชุดจะสตรีมไฟล์ ZIP ออกมาโดยตรงพร้อมส่วนหัว:
Content-Type: application/zipX-Job-Id: <jobId>X-File-Results: <url-encoded JSON mapping of index to filename>
Notes
- รับเฉพาะไฟล์ SVG และ SVGZ เท่านั้น (ตรวจสอบเนื้อหา ไม่ใช่เพียงนามสกุลไฟล์) ไฟล์ SVGZ จะถูกคลายการบีบอัดอัตโนมัติ
- เนื้อหา SVG จะถูกทำความสะอาดก่อนเรนเดอร์เพื่อป้องกัน XSS และการโหลดทรัพยากรภายนอก
- การตั้งค่า
dpiควบคุมความหนาแน่นในการทำแรสเตอร์ SVG ค่า DPI ที่สูงขึ้นจะให้มิติพิกเซลที่ใหญ่ขึ้นจาก viewport ของ SVG เดียวกัน - เมื่อกำหนดทั้ง
widthและheightภาพจะถูกปรับขนาดโดยใช้fit: inside(รักษาสัดส่วนภาพภายในขอบเขต) - มี
previewUrlรวมอยู่ในการตอบกลับสำหรับรูปแบบที่เบราว์เซอร์ไม่สามารถแสดงได้เอง (TIFF, HEIF) ตัวอย่างเป็นภาพย่อ WebP ขนาด 1200px - พื้นหลังเริ่มต้น
#00000000จะโปร่งใสอย่างสมบูรณ์ ตั้งค่าเป็น#FFFFFFสำหรับพื้นหลังสีขาว (มีประโยชน์กับผลลัพธ์ JPEG ที่ไม่รองรับความโปร่งใส) - การประมวลผลแบบชุดเป็นไปตามการกำหนดค่าเซิร์ฟเวอร์
MAX_BATCH_SIZEและใช้ worker ทำงานพร้อมกันเพื่อประสิทธิภาพ - สามารถติดตามความคืบหน้าของการทำงานแบบชุดได้ผ่าน SSE ที่
/api/v1/jobs/:jobId/progress
