Thay đổi kích thước ảnh API
Thay đổi kích thước, cắt, xoay, lật và đổi định dạng ảnh PNG ↔ JPEG với thuật toán chất lượng cao, chỉnh chất lượng JPEG để giảm dung lượng.
API resize ảnh xử lý ảnh PNG hoặc JPEG tải lên. Đặt width và / hoặc height (cạnh còn lại giữ tỷ lệ) và kiểu fit: inside (mặc định, vừa trong khung), cover (lấp đầy khung và cắt phần giữa, hợp với ảnh thumbnail), contain (vừa khung và thêm viền màu background) hoặc fill (kéo giãn). crop=x,y,width,height cắt một vùng trước, rotate (90, 180, 270) và flip (horizontal, vertical) để xoay, lật, no_enlarge=true để không phóng to.
Khi thu nhỏ, API lấy trung bình theo diện tích nên chi tiết vẫn sắc nét, không răng cưa; khi phóng to dùng nội suy song tuyến. Xuất format=jpeg với quality (1–100, mặc định 82) để giảm dung lượng; vùng trong suốt được phủ màu nền. Header cho biết kích thước mới và số byte đầu vào / đầu ra.
Nhận ảnh tối đa 25 megapixel và trong giới hạn dung lượng tệp của gói; mọi thứ xử lý trong bộ nhớ, không lưu lại.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
file | body | file | có | Ảnh PNG hoặc JPEG (multipart, body thô hoặc file_base64). | |
width | query|body | number | không | Chiều rộng mới (px). | |
height | query|body | number | không | Chiều cao mới (px). | |
fit | query|body | string | không | inside | inside, cover, contain, fill. |
crop | query|body | string | không | x,y,width,height cắt trước khi resize. | |
rotate | query|body | number | không | 90, 180 hoặc 270. | |
flip | query|body | string | không | horizontal hoặc vertical. | |
format | query|body | string | không | png hoặc jpeg (mặc định: như ảnh gốc). | |
quality | query|body | number | không | 82 | Chất lượng JPEG 1–100. |
background | query|body | string | không | ffffff | Màu viền / màu phủ nền. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/image-resize?width=400&height=400&fit=cover&format=jpeg" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "0=@./my-file" \
-o outputconst form = new FormData();
form.append('0', fileInput.files[0]);
const res = await fetch('https://apibox.io.vn/v1/image-resize?width=400&height=400&fit=cover&format=jpeg', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
body: form,
});
console.log(await res.json());import requests
res = requests.post(
"https://apibox.io.vn/v1/image-resize?width=400&height=400&fit=cover&format=jpeg",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"0": open("my-file", "rb")},
timeout=30,
)
open("output", "wb").write(res.content)<?php
$ch = curl_init('https://apibox.io.vn/v1/image-resize?width=400&height=400&fit=cover&format=jpeg');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
CURLOPT_POSTFIELDS => ['0' => new CURLFile('my-file')],
]);
$response = curl_exec($ch);
file_put_contents('output', $response);Kết quả trả về
binary image/jpeg
Ứng dụng
- Tạo thumbnail, avatar từ ảnh người dùng tải lên
- Thu nhỏ ảnh chụp trước khi lưu trữ
- Đổi ảnh chụp màn hình PNG sang JPEG nhẹ hơn
- Ảnh vuông cho sàn thương mại điện tử, mạng xã hội
Hỏi đáp
Có tự xoay theo EXIF không?
Chưa tự động; dùng rotate= khi ảnh bị nằm ngang (image-metadata cho biết hướng EXIF).
Có hỗ trợ WebP không?
Chưa: chỉ PNG và JPEG.
Giới hạn kích thước là bao nhiêu?
25 megapixel và dung lượng tệp theo gói (5–50 MB).
API liên quan
Tạo mã QR
Tạo mã QR dạng PNG hoặc SVG chỉ với một request GET: link, văn bản, WiFi, danh thiếp vCard, e-mail, SMS, số điện thoại, toạ độ. Tuỳ chỉnh màu, kích thước.
|||Tạo mã vạch
Tạo mã vạch Code 128 cho tem nhãn, mã SKU, vận đơn chỉ với một request. Xuất SVG kèm dòng chữ hoặc PNG, tuỳ chỉnh chiều cao, độ rộng và màu sắc.
▭Ảnh placeholder
Lấy ảnh giữ chỗ đúng kích thước cho mockup và test: /v1/placeholder/600x400.png. Xuất SVG với chữ và màu tuỳ chỉnh, hoặc PNG một màu.