[GIMP] [Python-Fu] Divisez l'image en épées

version

GIMP 2.10.12

introduction

Dans de rares cas, vous souhaitez séparer les matériaux d'animation de sprite et les matériaux de différence d'expression faciale, qui sont souvent visibles dans les matériaux d'image tels que Tsukuru. Cette fois, je vais vous présenter comment diviser une telle image en une épée avec GIMP.

goal.png

Le matériel pour cette époque a été emprunté à Pipoya Warehouse.

Avant d'entrer dans le sujet principal ...

Selon l'outil pour lequel vous essayez d'utiliser le matériau, vous voudrez peut-être vérifier une fois ** si le fichier image lui-même doit être divisé en premier lieu **. Par exemple, Unity prend à l'origine en charge ces matériaux et peut être traité comme une image fractionnée dans les paramètres d'importation d'image. (Cet article etc. sera utile.)

procédure

Comme un flux

  1. Créez un guide en forme de grille
  2. Générez une image de tranche selon le guide
  3. Enregistrez chaque image Ce sera.

[Référence] Créer un guide (travail manuel)

Vous pouvez créer un guide en forme de grille en répétant ce qui suit et en ajoutant des guides. Cependant, il est difficile de le répéter manuellement, alors faisons-le tout à la fois en utilisant Python-Fu comme décrit ci-dessous **. (Expliqué dans l'élément suivant)

--Sélectionnez "Image" -> "Guide" -> "Nouveau guide" dans le menu.

guide01.png

guide02.png

guide03.png

Créer un guide en forme de grille (Python-Fu)

GIMP a une fonction appelée Python-Fu qui peut être utilisée avec des scripts Python. (Pratique!)

--Sélectionnez "Filtre" -> "Python-Fu" -> "Console" dans le menu.

guide04.png

guide05.png

Exemple de script à exécuter


column = 6 #Nombre de colonnes que vous souhaitez isoler
row = 12 #Nombre de lignes que vous souhaitez séparer
image = gimp.image_list()[0]
step = image.width / column
x = step
while x < image.width:
	pdb.gimp_image_add_vguide(image, x)
	x = x + step

step = image.height / row
y = step
while y < image.height:
	pdb.gimp_image_add_hguide(image, y)
	y = y + step

--C'est fait.

guide06.png

Générer une image de tranche selon le guide

--Dans le menu, sélectionnez "Image" -> "Tranche à l'aide de guides".

slice01.png

slice02.png

Sauvegarder chaque image

Vous pouvez enregistrer un par un en sélectionnant "Fichier" -> "Exporter" dans le menu, mais il semble qu'il n'y ait pas de sauvegarde par lots, donc Python-Fu est également utile ici.

Exemple de script à exécuter


import os
path = "F:\\balloon" #Destination
count = 0
for image in gimp.image_list():
	count += 1
	file = os.path.join(path, str(count).zfill(2) + ".png ")
	pdb.gimp_file_save(image, image.active_layer, file, "")

――Il sera de plus en plus craché dans le dossier spécifié. J'ai pu le diviser avec bonheur.

result.png

en conclusion

GIMP est réputé pour être gratuit et hautement fonctionnel, mais je suis très heureux de pouvoir écrire des scripts dans le populaire Python. Je voulais pouvoir l'utiliser davantage.

référence

Recommended Posts

[GIMP] [Python-Fu] Divisez l'image en épées
Divisez la chaîne de caractères en le nombre de caractères spécifié
[Python] Masquez l'image dans un cercle à l'aide de Pillow
Divisez l'ensemble de données (ndarray) en proportions arbitraires avec NumPy
Collez l'image dans un fichier Excel en utilisant l'openpyxl de Python