Files
SnapOtter/apps/docs/vi/tools/image/resize.md
T
SnapOtterandGitHub 4963ab3bbd 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.
2026-07-11 13:52:47 +08:00

3.1 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Thay đổi kích thước ảnh theo pixel, phần trăm hoặc với các chế độ vừa khít. 00d1bffa4d38 human bcce4cd579a4

Resize

Thay đổi kích thước ảnh bằng cách chỉ định kích thước pixel chính xác, hệ số tỷ lệ phần trăm, hoặc một chế độ vừa khít kiểm soát cách ảnh thích ứng với kích thước đích.

API Endpoint

POST /api/v1/tools/image/resize

Chấp nhận multipart form data với một tệp ảnh và một trường JSON settings.

Parameters

Parameter Type Required Default Description
width integer No - Chiều rộng đích tính bằng pixel (tối đa 16383)
height integer No - Chiều cao đích tính bằng pixel (tối đa 16383)
fit string No "contain" Cách ảnh vừa với kích thước: contain, cover, fill, inside, outside
withoutEnlargement boolean No false Ngăn phóng to nếu ảnh nhỏ hơn đích
percentage number No - Tỷ lệ theo phần trăm (ví dụ 50 để bằng nửa kích thước)

Phải cung cấp ít nhất một trong width, height, hoặc percentage.

Fit Modes

  • contain - Thay đổi kích thước để vừa trong phạm vi kích thước, giữ tỷ lệ khung hình (có thể để lại khoảng trống)
  • cover - Thay đổi kích thước để phủ kín kích thước, giữ tỷ lệ khung hình (có thể cắt)
  • fill - Kéo giãn để khớp chính xác kích thước (bỏ qua tỷ lệ khung hình)
  • inside - Giống contain, nhưng chỉ thu nhỏ, không bao giờ phóng to
  • outside - Giống cover, nhưng chỉ thu nhỏ, không bao giờ phóng to

Example Request

curl -X POST http://localhost:1349/api/v1/tools/image/resize \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"width": 800, "height": 600, "fit": "contain"}'

Thay đổi kích thước theo phần trăm:

curl -X POST http://localhost:1349/api/v1/tools/image/resize \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"percentage": 50}'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
  "originalSize": 2450000,
  "processedSize": 980000
}

Notes

  • Kích thước tối đa là 16383 pixel trên mỗi trục (giới hạn Sharp/libvips).
  • Định dạng đầu ra khớp với định dạng đầu vào. Các đầu vào HEIC, RAW, PSD và SVG được tự động giải mã trước khi xử lý.
  • Hướng EXIF được tự động áp dụng trước khi thay đổi kích thước.
  • Cờ withoutEnlargement hữu ích cho xử lý hàng loạt khi một số ảnh có thể đã nhỏ hơn đích.