Images de monstres pour roguelike alignées comme ça
↓↓↓ Je voulais changer cet ordre ...
Il est assez difficile de traiter manuellement toutes les images de tels personnages ...
Donc, quand j'ai vérifié si cela pouvait être automatisé avec un script, c'était une bonne idée d'utiliser ImageMagick.
Puisqu'il s'agit d'un environnement Mac, je l'ai installé via MacPorts.
Si vous êtes dans un environnement Windows, vous pouvez facilement l'installer en utilisant le programme d'installation référencé ici.
J'ai décidé de traiter l'image selon la procédure suivante
Utilisez l'option -crop
pour recadrer l'image.
bash
convert [Fichier d'entrée] -crop '[largeur]x[la taille]+[Coordonnée X supérieure gauche]+[Coordonnée Y supérieure gauche]' [Fichier de sortie]
Par exemple, pour recadrer l'image input.png avec une taille de 32x32 avec (x, y) = (10,20) comme coordonnée supérieure gauche, utilisez la commande suivante.
bash
convert input.png -crop '32x32+10+20' output.png
Sur cette base, un script Python qui découpe une image zombie pour chaque partie
crop.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
#■ Tout d'abord, recadrez l'image
#Taille de la découpe
SIZE = 16
#Fichier d'entrée
INPUT = "all.png "
#coordonnées de départ zombie
x = 80
y = 80
for i in range(0, 15):
#Aligné en 5x3
ox = (i / 3) * SIZE
oy = (i % 3) * SIZE
ox += x
oy += y
#Fichier de sortie(Sortie dans le dossier tmp)
out = "tmp/%d.png "%i
#Création de chaîne de commande
cmd = "/opt/local/bin/convert %s -crop '%dx%d+%d+%d' %s"%(INPUT, SIZE, SIZE, ox, oy, out)
print cmd
#Courir
os.system(cmd);
Ceci est un script qui coupe le caractère de all.png et le renvoie de 0 à 14.png dans le dossier tmp. Vous pouvez maintenant le découper individuellement.
Ensuite, connectez les images découpées.
Utilisez l'option + append
pour recadrer.
bash
convert +append [Fichier d'entrée 1] [Fichier d'entrée 2] [...] [Fichier de sortie]
Par exemple, la commande pour concaténer 1.png 2.png 3.png et la sortie vers out.png est la suivante.
bash
convert +append 1.png 2.png 3.png out.png
Voici un script Python qui concatène les images découpées en fonction de cela.
append.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
#■ Combinez des images
#Connectez-vous sur le côté
cmd = "/opt/local/bin/convert +append "
for i in range(0, 15):
#Fichier d'entrée
inFile = "tmp/%d.png "%i
#Concaténer à la chaîne de commande
cmd += inFile + " "
#Définir le nom du fichier de sortie
cmd += "zombie.png "
print cmd
#Courir
os.system(cmd)
C'est un script qui renvoie 0 à 14.png dans le dossier tmp vers "zombie.png ". En conséquence, les images peuvent être connectées comme indiqué ci-dessous.
Après cela, si vous modifiez ce script, il semble que vous puissiez facilement parcourir tous les personnages.
Dans le cas d'un jeu d'images par points, les données peuvent être préparées en basse résolution pour donner une impression de points, et peuvent être agrandies et utilisées dans le jeu réel. Dans ce cas, si vous effectuez un zoom avant normalement, cela semblera flou.
Par exemple, il s'agit d'une image 32x32 points,
Si vous l'agrandissez à 96x96 tel quel, il semblera flou.
Par conséquent, il est nécessaire d'agrandir le rapport de pixels tout en le gardant fixe.
Spécifiez l'option -filter box
pour effectuer cette conversion dans ImageMagick.
bash
convert -filter box -resize [grossissement]% [Fichier d'entrée] [Fichier de sortie]
Le grossissement est de 100% de la valeur standard. Par exemple, si vous souhaitez doubler la taille de l'image input.png, exécutez la commande suivante:
bash
convert -filter box -resize 200% input.png output.png
Voici une méthode pour générer une image avec un rapport de pixels fixe et doubler l'image à l'aide d'un script Python.
scale.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
#Fichier d'entrée
INPUT = "zombie.png "
#Fichier de sortie
OUTPUT = "zombie_2x.png "
#Double
SCALE = 2
#Création de chaîne de commande
cmd = "/opt/local/bin/convert -filter box -resize %d%% %s %s"%(SCALE*100, INPUT, OUTPUT)
print cmd
#Courir
os.system(cmd)
Il s'agit d'un script qui double zombie.png et le renvoie en tant que zombie_2x.png.
J'ai emprunté l'image de monstre découpée cette fois d'ici.
Il y a beaucoup de belles images qui peuvent être utilisées pour les roguelikes, ce qui est très bien.
Si vous spécifiez l'option -transparent
, vous pouvez spécifier la couleur transparente et la sortie.
bash
convert -transparent '#RRGGBB' [Fichier d'entrée] [Fichier de sortie]
Par exemple, la couleur d'arrière-plan de l'image du monstre utilisée cette fois est # 476c6c
, donc
bash
convert -transparent '#476c6c' zombie.png zombie_alpha.png
Ensuite, vous pouvez créer une image transparente zombie_alpha.png.
Recommended Posts