Files
SnapOtter/apps/docs/th/tools/image/resize.md
T
SnapOtterandGitHub f858c4cea0 feat: clearer, disambiguated tool names across all surfaces (#520)
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
2026-07-15 21:55:51 +08:00

4.2 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
ปรับขนาดรูปภาพตามพิกเซล เปอร์เซ็นต์ หรือด้วยโหมดการปรับพอดี 53866e8266b8 human 6672556356d0

ปรับขนาดภาพ

ปรับขนาดรูปภาพโดยระบุมิติพิกเซลที่แน่นอน ตัวคูณสเกลเป็นเปอร์เซ็นต์ หรือโหมดการปรับพอดีที่ควบคุมวิธีที่รูปภาพปรับตัวเข้ากับมิติเป้าหมาย

API Endpoint

POST /api/v1/tools/image/resize

รับ multipart form data พร้อมไฟล์รูปภาพและฟิลด์ JSON settings

Parameters

Parameter Type Required Default Description
width integer No - ความกว้างเป้าหมายเป็นพิกเซล (สูงสุด 16383)
height integer No - ความสูงเป้าหมายเป็นพิกเซล (สูงสุด 16383)
fit string No "contain" วิธีที่รูปภาพปรับพอดีกับมิติ: contain, cover, fill, inside, outside
withoutEnlargement boolean No false ป้องกันการขยายขนาดหากรูปภาพเล็กกว่าเป้าหมาย
percentage number No - ปรับสเกลตามเปอร์เซ็นต์ (เช่น 50 สำหรับครึ่งขนาด)

ต้องระบุ width, height หรือ percentage อย่างน้อยหนึ่งอย่าง

Fit Modes

  • contain - ปรับขนาดให้พอดีภายในมิติ โดยรักษาสัดส่วนภาพ (อาจเหลือพื้นที่ว่าง)
  • cover - ปรับขนาดให้ครอบคลุมมิติ โดยรักษาสัดส่วนภาพ (อาจครอป)
  • fill - ยืดให้ตรงกับมิติพอดี (ละเว้นสัดส่วนภาพ)
  • inside - เหมือน contain แต่ลดขนาดเท่านั้น ไม่ขยาย
  • outside - เหมือน cover แต่ลดขนาดเท่านั้น ไม่ขยาย

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"}'

ปรับขนาดตามเปอร์เซ็นต์:

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

  • มิติสูงสุดคือ 16383 พิกเซลในแต่ละแกน (ขีดจำกัดของ Sharp/libvips)
  • รูปแบบเอาต์พุตจะตรงกับรูปแบบอินพุต อินพุต HEIC, RAW, PSD และ SVG จะถูกถอดรหัสโดยอัตโนมัติก่อนการประมวลผล
  • การวางแนวตาม EXIF จะถูกใช้โดยอัตโนมัติก่อนการปรับขนาด
  • แฟล็ก withoutEnlargement มีประโยชน์สำหรับการประมวลผลแบบกลุ่มที่รูปภาพบางส่วนอาจเล็กกว่าเป้าหมายอยู่แล้ว