News:

Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

plugin python pour gimp

Started by Eric, October 20, 2012, 08:14:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Eric

Bonjour à tous,
je bidule avec blender, et je sort des sequences d' images d' un immeuble ou véhicule sous les differentes orientations
un truc du genre hlm00.png , hlm01.png, hlm ...
ensuite j' ouvre tous mes hlm avec gimp et j' assemble pour n' avoir qu'une seule image.
je me suis mis en tete de simplifier l' assemblage avec un plugin en python
je selectionne mes images, puis ouvrir avec gimp puis le python dans gimp
le script fusionne tout dans une nouvelle image avec selection et application de la couleur transparente dans simutrans (#e7ffff)
la nouvelle image est automatiquement créée .
Quelques captures:
4 images ouvertes et menu pour le filtre




apres application du plug:



avec un véhicule ici sur fond noir:


un fichier plus récént sur fond transparent:





la couleur de transparence à bien été appliquée
un peu trop car certaines partie de l' image sont devenues transparentes. le fond noir est un mauvais choix.c' est un vieux fichier et j' ai eu le meme soucis  en selectionant " a la main, j' ai du modifier dans blender la couleur de fond avant les retouches
le plugin n' est pas destructif, les images originales ne sont pas modifiées
le python est  est un premier jet.
Pour l' instant il ne fonctionne qu' avec des images de 128x128 px
quelques limitations: l' ordre d' ouverture des images , donc de l' assemblage, semble lié au nom
la derniere image ouverte est la premiere dans l' assemblage final
et c' est la premiere fois que je met les main dans les procédures gimp
Avec Blender, je fais une animation format png ( la caméra et les lampes tournent autour du sujet ) et donc le probleme de l' ordre est quasi réglé

je vous met le plugin en piece jointe, il faut le ranger dans gimp->plugin, changer l' extension( . txt devient .py) et le rendre executable s'il ne l' est pas

mEGa

C'est une super idée pour ceux qui dessine en amont de Gimp avec une autre source (Inkscpae, Blender, Sketchup...).
C'est prometteur ! Je vais l'essayer de ce pas.

Merci à toi de partager ce script.
Current projects in progress : improvements of few designed french paks

Eric

merci

je l' ai modifié, les images sont maintenant dans le "bon "ordre et respecte la numérotation.
Il n' y a toujours pas de boite de dialogue, pour l' instant

la version précedente était limité aux images de 128*128
maintenant il est possible d' avoir 128*256 par exemple, pour des tours urbaines
la taille est determinée par celle de la derniere image ouverte.
Il vaut mieux que les images aient toutes la meme taille, et qu aucune autre ne soit ouverte

l' autre possibilité est d' ouvrir toute les images en tant que calque, mais je patauge dans les procedures de gimp pour lesquelles je n' ai pas d' expérience. ça va prendre quelques temps

Un essais rapide concluant: il est possible d' écrire directement depuis gimp un fichier dat.
J' y travaille actuellement pour des batiments. Pour les véhicules reste la question de la direction de ceux ci qui doit etre en concordance avec les images

une option réalisable sans trop de difficulté est une zone pour un copyright avec saisie de celui ci dans une boite de dialogue.
Ce qui me préocupe est l' ordre d' ouverture des images, qui colle bien avec la sortie ( sequence d' images) de blender
ça peut etre différent selon vos pratiques

Comme d'habitude renommer le plugin en changeant l' extension en .py, modifier les droits (executable) et hop dans le dossier plugin de gimp


Eric

un truc rapide pour ordonner les images pur gimp:
j' ouvre la première image de la série, puis dans gimp j' ouvre les 7 autres en tant que calques
dans gimp, je duplique l' image 7 fois. chaque image aura 8 calques avec chacun une orientation différente ( du bus par exemple)
puis dans chaque image( 8 en tout), je clique sur le calque qui est bien orienté par rapport à la précédente ( pour le rendre actif )
et hop le filtre et c' est fait en fonction des calques actifs. Plus besoin de copier coller

Eric

j' ai entierement réécrit le script, et changé son nom
Celui ci fonctionne à partir d' une pile de calque
dans gimp, menu ouvrir en tant que calques puis application du script
il fait comme le précedent, et permet l' ajout du' une bande blanches et l' écriture de differents textes

location du filtre:



la boite de dialogue et ses options:



les options:
copyright: pour ajouter le copyright
auteur: pour le copyright
name : le nom du vehicule ( ou autre )
spécification 1 et 2 pour d' autres détails
écrire les orientations: pour ajouter un texte au dessus de chaque tile
"Entrer la ou les lettres" le script à besoin de connaitre l' orientation du calque supérieur pour écrire
la liste des entrées possible comme dans un fichier dat
la derniere option: le sens de rotation du véhicule, du calque supérieur vers le calque inférieur
Si les calques sont dans le désordre, le résultat sera faut

le résultat apres exécution du script:

les calques ne sont pas fusionnés,et l' image contenant les calque de départ est inchangée.




j' ai encore des petits bidules à modifier et des print un peu partout à virer, et reverifier si bug

le texte est en piece jointe: le ranger dans le dossier plugin de gimp et changer l' extension en .py
lui donner les droits d' exécutable

@+
Eric