Files
SnapOtter/apps/docs/fr/tools/image/sprite-sheet.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

2.9 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Combine plusieurs images en une seule grille de feuille de sprites avec des métadonnées d'images. 1938d7fb100d human a29e105baeec

Feuille de sprites

Combine plusieurs images en une seule grille de feuille de sprites. Chaque image est redimensionnée pour correspondre aux dimensions de la première image et placée dans la grille. Renvoie l'image de la feuille de sprites accompagnée des métadonnées de coordonnées par image.

Point d'accès de l'API

POST /api/v1/tools/image/sprite-sheet

Accepte des données de formulaire multipart avec deux fichiers image ou plus et un champ JSON settings.

Paramètres

Paramètre Type Requis Défaut Description
columns integer Non 4 Nombre de colonnes de la grille (1-16)
padding integer Non 0 Marge entre les cellules en pixels (0-64)
background string Non "#ffffff" Couleur d'arrière-plan hexadécimale
format string Non "png" Format de sortie : png, webp ou jpeg
quality integer Non 90 Qualité de sortie (1-100)

Exemple de requête

curl -X POST http://localhost:1349/api/v1/tools/image/sprite-sheet \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@frame1.png" \
  -F "file=@frame2.png" \
  -F "file=@frame3.png" \
  -F "file=@frame4.png" \
  -F 'settings={"columns": 2, "padding": 4, "format": "png"}'

Exemple de réponse

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/sprite-sheet.png",
  "originalSize": 120000,
  "processedSize": 95000,
  "frames": [
    { "index": 0, "left": 0, "top": 0, "width": 128, "height": 128 },
    { "index": 1, "left": 132, "top": 0, "width": 128, "height": 128 },
    { "index": 2, "left": 0, "top": 132, "width": 128, "height": 128 },
    { "index": 3, "left": 132, "top": 132, "width": 128, "height": 128 }
  ],
  "cols": 2,
  "rows": 2,
  "cellWidth": 128,
  "cellHeight": 128,
  "canvasWidth": 260,
  "canvasHeight": 260
}

Remarques

  • Accepte de 2 à 64 images. Toutes les images sont redimensionnées pour correspondre aux dimensions de la première image téléversée.
  • Le tableau frames fournit les coordonnées en pixels exactes de chaque image dans la sortie, adaptées aux définitions de sprites CSS ou aux cartes d'images de moteur de jeu.
  • Le nombre de lignes est calculé automatiquement à partir du nombre d'images et de la valeur columns.
  • Utilisez le paramètre padding pour ajouter de l'espacement entre les cellules. La couleur background est visible dans les zones de marge et dans toute cellule finale vide.
  • Les entrées HEIC, RAW, PSD et SVG sont automatiquement décodées avant le traitement.