|
||
---|---|---|
.gitignore | ||
licence.txt | ||
readme.md | ||
requirements.txt | ||
sprite-optimizer.py |
readme.md
Sprite Optimizer
Le Sprite Optimizer est un outil permettant de générer le code Multi DrawStat optimisé d'une image. La sortie est destinée à être copiée-collée dans un éditeur de programmes. Merci à Zezombye et Breizh pour l'idée originale.
La solution est optimisée et peut ne pas être optimale. En pratique, elle est très souvent utilisable telle quelle.
L'algorithme a une complexité quadratique : au delà de 150 pixels à traiter, l'exécution peut être très lente.
Options d'utilisation
Par défaut, le code est généré pour un origine (0, 0)
en haut à gauche, ce qui correspond au ViewWindow 0, 126, 0, 62, 0, 0
.
Inversion du ViewWindow
Pour inverser le ViewWindow et avoir une origine (0, 0)
en bas à gauche, utilisez l'option --flip
. Correspond au ViewWindow 0, 126, 0, 0, 62, 0
.
Il est possible d'utiliser cette option en même temps que --offset
.
Décalage du ViewWindow
Pour décaler l'origine du ViewWindow et avoir une origine (a, b)
dans un coin, utiliser l'option --offset a, b
. Correspond au ViewWindow a, 126+a, 0, 62+b, b, 0
.
Il est possible d'utiliser cette option en même temps que --flip
.
Affichage des statistiques et de la progression
Utilisez les options --info
et --progress
.
Export visuel du résulat
Pour exporter le résultat visuellement, utilisez les options --show
pour afficher l'image et --draw
pour l'enregistrer dans un fichier <nom>_gen.png
.
Cela permet de vérifier l'optimisation effectuée par l'outil.
Installation
Installez Python 3 ainsi que les dépendances citées dans le fichier requirements.txt
(avec pip par exemple).
Exemples d'utilisation
# Affiche le code uniquement
./sprite-optimizer image.png
# Affiche la progression, des infos (lignes, temps d'exécution), et le code
./sprite-optimizer -pi image.png
# Retourne le code de l'image pour un ViewWindow inversé (origine en bas à gauche)
./sprite-optimizer --flip image.png
# Retourne le code avec un offset de (10, 5)
./sprite-optmizer --offset 10 5 image.png