À propos du projet

Sprite Fusion Pixel Snapper est un outil conçu pour aligner les pixels sur une grille parfaite, spécifiquement pour corriger l'art pixelisé désordonné et incohérent généré par l'IA. Il résout des problèmes tels que les tailles et positions de pixels incohérentes, la dérive de la résolution de grille, et les couleurs non liées à une palette stricte. L'outil garantit que les pixels sont alignés sur une grille parfaite, maintient une résolution de grille cohérente pouvant être mise à l'échelle, et quantifie les couleurs selon une palette stricte, avec prise en charge de palettes personnalisées. Il est idéal pour l'art pixelisé généré par IA, l'art 2D procédural qui ne correspond pas à une grille (comme les tilemaps ou les cartes isométriques), et les ressources de jeux 2D ou textures 3D qui doivent être parfaitement redimensionnables. L'outil préserve autant de détails que possible, y compris le tramage. ## Fonctionnalités - **Alignement sur grille** : Les pixels sont alignés sur une grille parfaite. - **Résolution cohérente** : La résolution de grille est cohérente et peut être mise à l'échelle vers la résolution en pixels. - **Quantification de palette** : Les couleurs sont liées à une palette stricte et quantifiée ; les palettes personnalisées sont prises en charge. - **Traitement par lots** : Traitez des répertoires entiers d'images. - **CLI et Web (WASM)** : Disponible en tant qu'outil en ligne de commande et en tant que module WebAssembly pour l'intégration dans des projets web. - **Version bureau** : Également disponible en tant qu'application de bureau. ## Utilisation en CLI Installation via Homebrew : ```bash brew install Hugo-Dz/tap/spritefusion-pixel-snapper ``` Ou via Cargo (nécessite Rust) : ```bash cargo install spritefusion-pixel-snapper ``` Utilisation : ```text spritefusion-pixel-snapper <INPUT> <OUTPUT> [COLOR_COUNT] [OPTIONS] ``` - `<INPUT>` : Une image PNG/JPEG, ou un répertoire pour le traitement par lots. - `<OUTPUT>` : Un PNG de sortie, ou un répertoire de sortie différent pour un lot. - `[COLOR_COUNT]` : Nombre de couleurs de la palette. Par défaut `16`. - `--pixel-size <PIXELS>` : Remplace la taille de pixel détectée automatiquement. Doit être comprise entre 1 et la moitié de la plus petite dimension de l'image. - `--palette <HEX,...>` : Contraint la sortie à des couleurs hexadécimales à six chiffres séparées par des virgules. Exemples : ```bash # Quantifier l'image sur une palette de 16 couleurs spritefusion-pixel-snapper input.png output.png 16 # Traiter un répertoire par lots spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 # Remplacer la taille de pixel détectée automatiquement spritefusion-pixel-snapper input.png output.png --pixel-size 8 spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 --pixel-size 8 # Utiliser une palette de couleurs fixe spritefusion-pixel-snapper input.png output.png --palette "0d2b45,203c56,544e68,8d697a,d08159,ffaa5e,ffd4a3,ffecd6" spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs --palette "0d2b45,203c56,544e68,8d697a" ``` Exécutez `spritefusion-pixel-snapper --help` pour voir toutes les options. ## Utilisation Web (WASM) Construire le module WASM : ```bash wasm-pack build --target web --out-dir pkg --release ``` Puis utilisez-le dans votre projet : ```js import init, { process_image } from "./pkg/spritefusion_pixel_snapper.js"; await init(); // process_image(inputBytes, kColors?, pixelSizeOverride?, paletteHex?) const outputBytes = process_image(inputBytes, 16); // Avec une palette personnalisée const recoloredBytes = process_image(inputBytes, null, null, "0f0f1b,ffecd6,ff4d6d,29adff"); ``` Passez `null` pour tout argument optionnel afin d'utiliser le comportement par défaut. ## Compiler depuis les sources ```bash git clone https://github.com/Hugo-Dz/spritefusion-pixel-snapper.git cd spritefusion-pixel-snapper cargo build --release ``` Le binaire se trouvera à `target/release/spritefusion-pixel-snapper`. ## Remerciements Pixel Snapper est un projet Sprite Fusion. Sprite Fusion est un outil pour générer de VRAIS sprites et animations en art pixelisé pour le développement de jeux. ## Licence Licence MIT (Hugo Duprez)