Search K
SVG sang Raster
Chuyển tệp SVG sang các định dạng ảnh raster (PNG, JPEG, WebP, AVIF, TIFF, GIF, HEIF, hoặc JXL) ở độ phân giải và DPI tùy chỉnh. Cũng hỗ trợ chuyển đổi hàng loạt nhiều SVG.
API Endpoint
POST /api/v1/tools/image/svg-to-raster
Tham số
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
| width | integer | Không | - | Chiều rộng đích tính bằng pixel (1 đến 65536). Giữ tỷ lệ khung hình nếu chỉ đặt một chiều. |
| height | integer | Không | - | Chiều cao đích tính bằng pixel (1 đến 65536). Giữ tỷ lệ khung hình nếu chỉ đặt một chiều. |
| dpi | integer | Không | 300 | DPI kết xuất, kiểm soát mật độ raster hóa cơ bản (36 đến 2400) |
| quality | number | Không | 90 | Chất lượng đầu ra cho các định dạng có mất dữ liệu (1 đến 100) |
| backgroundColor | string | Không | "#00000000" | Màu nền dạng hex (6 hoặc 8 ký tự, dạng 8 ký tự bao gồm alpha) |
| outputFormat | string | Không | "png" | Định dạng đầu ra: png, jpg, webp, avif, tiff, gif, heif, jxl |
Ví dụ 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"}'Ví dụ 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
}Endpoint hàng loạt
POST /api/v1/tools/image/svg-to-raster/batch
Chuyển đổi nhiều tệp SVG trong một request. Trả về một kho lưu trữ ZIP.
Tham số hàng loạt bổ sung
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
| clientJobId | string | Không | - | ID công việc do client cung cấp tùy chọn để theo dõi tiến trình (tối đa 128 ký tự) |
Ví dụ Request hàng loạt
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}'Response hàng loạt
Endpoint hàng loạt truyền trực tiếp một tệp ZIP với các header:
Content-Type: application/zipX-Job-Id: <jobId>X-File-Results: <url-encoded JSON mapping of index to filename>
Ghi chú
- Chỉ chấp nhận tệp SVG và SVGZ (xác thực nội dung, không chỉ phần mở rộng). SVGZ được tự động giải nén.
- Nội dung SVG được làm sạch trước khi kết xuất để ngăn XSS và tải tài nguyên bên ngoài.
- Thiết lập
dpikiểm soát mật độ mà SVG được raster hóa. DPI cao hơn tạo ra kích thước pixel lớn hơn từ cùng một viewport SVG. - Khi cả
widthvàheightđều được cung cấp, ảnh được đổi kích thước bằngfit: inside(giữ tỷ lệ khung hình trong giới hạn). - Một
previewUrlđược bao gồm trong response cho các định dạng mà trình duyệt không thể hiển thị trực tiếp (TIFF, HEIF). Bản xem trước là thumbnail WebP 1200px. #00000000nền mặc định là hoàn toàn trong suốt. Đặt thành#FFFFFFcho nền trắng (hữu ích với đầu ra JPEG vốn không hỗ trợ độ trong suốt).- Xử lý hàng loạt tuân theo cấu hình máy chủ
MAX_BATCH_SIZEvà sử dụng các worker đồng thời để tăng hiệu suất. - Tiến trình của các thao tác hàng loạt có thể được theo dõi qua SSE tại
/api/v1/jobs/:jobId/progress.
