Blork et size.fac
Séparation haute

Envoi de message privé Fermer ce menu

Destinataire : *

Message : *

Envoyer ce message privé

Les champs marqués d'un * sont obligatoires.

Menu : profil et inscription Fermer ce menu

Si vous avez oublié votre mot de passe, merci de nous indiquer les renseignements suivants :

Votre pseudo : *

Adresse email de votre profil : *

Les champs marqués d'un * sont obligatoires.

Blork & size.fac > Copa Blorkana > Extraire des sprites facilement (ou presque)

Bas de page

Message laissé le 22/02/05 à 10:06

Tous ceux qui s'y sont essayés pestent contre les émulateurs qui ne disposent pas d'un mode image par image.
Voilà l'outil qui va vous permettre de vous en passer: http://www.gmdsoft.de/menne/z3c/animget.htm Smiley : icon_top.gif

Vous lancez ce petit programme, vous lancez votre émulateur en mode fenêtré, sans zoom. Vous lancez le mode capture dans AnimGet puis vous activez la fenêtre de l'émulateur. AnimGet prendra des captures d'écran chaque fois qu'il détectera du changement dans la fenêtre de l'émulateur (il vérifie tous les centièmes de seconde)
Attention toutefois, on se retrouve vite avec des dossiers de 500 images Smiley : icon_argh.gif
Après il ne vous reste plus qu'à éditer les images Smiley : lag18.png



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 05/03/05 à 12:50

Merci Lag Smiley : lag11.png
Je pense que ça va me servir pas mal, plus besoin d'attendre patiemment le bon moment pour faire screen capture Smiley : icon_yeux_triangle1.gif

Tiens j'en profite pour demander : d'où vient l'image de ta sign ? Smiley : icon_yeux_triangle1.gif



- - - - - - - - - -
size.fac is the cornichon masta Smiley : icon_bandit.gif

Message laissé le 05/03/05 à 15:36

C'est l'écran de game over de Puyo Puyo Smiley : lag11.png



























T'as pourtant dû le voir souvent Smiley : icon_sadique.gif Smiley : lag30.gif



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 05/03/05 à 16:16

Smiley : lag26.gif
.... Smiley : lag30.gif Smiley : lag30.gif Smiley : lag30.gif

Bien joué, bien joué (dans tous les sens du terme Smiley : lag18.png) Smiley : icon_top.gif


... TU ME REVAUDRAS CA EL FOURBO !!! Smiley : icon_bandit.gif Smiley : lag30.gif



- - - - - - - - - -
size.fac is the cornichon masta Smiley : icon_bandit.gif

Message laissé le 06/03/05 à 10:47

Je n'avais pas encore répondu à ce message mais tu penses bien que le lien m'a intéressé. Même si j'avais jusqu'à présent pris l'habitude de tout faire manuellement, ça peut servir ce genre de programme.

Si un jour j'en retrouve le temps et la force, je recommencerai le jeu en ligne que j'avais fait il y a belle lurette et que j'avais malheureusement perdu dans le crash de mon DD Smiley : lag04.png



- - - - - - - - - -
Guide d'utilisation du forum
Comment créer son blog ?
Comment poster une image ?
Comment utiliser la balise "quote" ?

Mémo : Faire un nouveau gif pour faire rire Moussaka
Faire une chanson pour Freytaw

Message laissé le 03/11/05 à 11:11

Comme j'ai retenté l'extraction de sprites, je demande conseil aux pros des logiciels de traitement d'image Smiley : lag18.png
J'ai un nombre élevé de fichiers auxquels je souhaite appliquer des modifications similaires (découper pour ne garder qu'une seule zone de l'image (de coordonnées connues), changer la couleur de fond en une autre etc) et comme ça m'embêterait énormément de devoir le faire 40000 fois, je me demandais s'il n'y avait pas moyen de faire ça de façon plus... automatisée. Avec un logiciel de préférence gratuit (genre GIMP ou autre) (ho le mec chiant Smiley : icon_vendeur.gif). Merci d'avance Smiley : lag33.gif



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 03/11/05 à 13:03

Pour cela, il te faut batcher ton processus.
J'ai vite fait vérifié sur internet et GIMP peut batcher donc il y a moyen avec GIMP.
Seulement je n'ai pas GIMP sous la main donc je peux pas torp te dire comment exactement. J'ai trouvé quelques tutos sur le net mais rien d'encourageant.
Tu peux aussi le faire assez facilement en C ou en php, tant que ca reste du découpage bourrin et changer la couleur de fond.



- - - - - - - - - -
Image
"With kindness comes naïveté. Courage becomes foolhardiness. And dedication has no reward. If you can't accept any of that, you are not fit to be a Magical Girl."
でも!でも!かわいいからOK!

Message laissé le 03/11/05 à 19:23

Bon ben j'ai trouvé et compris comment découper et garder une zone précise d'une image, j'ai trouvé et compris comment remplacer une couleur par une autre (pas partout, juste une partie de la couleur concernée), maintenant il me reste plus que le "batching".
Manque de pot, je ne sais pas à quelle lettre chercher dans l'aide Smiley : lag30.gif



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 03/11/05 à 22:17

J'ai trouvé ça sur le site de Gimp: http://www.gimp.org/tutorials/Basic_Batch/
Y'a écrit "basic" mais ça a l'air déjà trop compliqué pour moi Smiley : icon_yeux_triangle1.gif
Je vais y jeter un oeil.



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 04/11/05 à 11:03

D'après ce que j'ai compris, il faudrait que j'utilise la fonction gimp_image_crop pour le redimensionnement, par contre, pour le changement de couleur c'est plutôt flou, mais je ne désespère pas Smiley : lag29.gif



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 04/11/05 à 15:13

Ganbatte.
Pour la couleur que tu veux changer, c'est ta couleur de fond ou bien juste une couleur de ta palette qui est en fond?



- - - - - - - - - -
Image
"With kindness comes naïveté. Courage becomes foolhardiness. And dedication has no reward. If you can't accept any of that, you are not fit to be a Magical Girl."
でも!でも!かわいいからOK!

Message laissé le 04/11/05 à 17:11

Euh... Smiley : icon_disco.gif
Comme je ne comprends pas ta question, je vais expliquer mon problème autrement Smiley : icon_yeux_triangle1.gif
Je fais des captures d'écran après avoir viré certaines des couches des graphismes et j'obtiens une image avec mes sprites posés sur une couleur que je veux changer.
Je pensais pouvoir utiliser la fonction "sélection de couleur" puis utiliser le remplissage pour remplacer toute la couleur par une autre mais je me suis aperçu que si le sprite contient la même couleur que le fond, ça pose problème.
Donc en fait, je pense qu'il va falloir juste utiliser le remplissage sur un point du fond de coordonnées fixes dont je sais qu'il n'est jamais recouvert par le sprite.
Apparemment, c'est la procédure gimp_edit_bucket_fill qui va m'être utile, le problème c'est qu'elle a l'air beaaaaaaaaucoup plus complexe que l'autre, avec des tonnes de paramètres différents possibles Smiley : lag29.gif



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 04/11/05 à 18:42

Voilà le script que j'ai fait, à partir de celui proposé dans le lien plus haut (les let*, filelist et car, je les laisse parce que je n'ai rien trouvé à ce sujet dans l'aide):



Citation :

(define (batch_fill_crop pattern
fill_mode
paint_mode
opacity
threshold
sample_merged
x
y
new_width
new_height
offx
offy)
(let* ((filelist (cadr (file_glob pattern 1)))) (le cadr, j'ai l'impression que c'est une faute de frappe)
(while filelist
(let* ((filename (car filelist))
(image (car (gimp_file_load RUN-NONINTERACTIVE
filename filename))) (pourquoi deux filename?)
(drawable (car (gimp_image_get_active_layer image)))) (j'ai l'impression qu'il y a eu un mélange entre deux fonctions, car normalement, la fonction get_active_layer retourne une variable "active_layer")
(gimp_edit_bucket_fill RUN-NONINTERACTIVE
drawable (cf la question du dessus)
fill_mode
paint_mode
opacity
threshold
sample_merged
x
y)
(gimp_image_crop RUN-NONINTERACTIVE
image
new_width
new_height
offx
offy)
(gimp_file_save RUN-NONINTERACTIVE
image
drawable
filename filename) (idem, pourquoi deux filename?)
(gimp_image_delete image))
(set! filelist (cdr filelist))))) (une autre erreur de frappe pour ce cdr?)




Sachant que je ne comprends pas à quoi servent les variables threshold et sample_merged...
Un avis sur tout ça? Smiley : lag18.png

Edit: petites descriptions des fonctions gimp_edit_bucket_fill et gimp_image_crop là:
http://radical.dreamers.online.fr/temp/gimp_edit_bucket_fill.png
http://radical.dreamers.online.fr/temp/gimp_image_crop.png

[Edité : par Lag le 04/11/2005 à 12:45]



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 04/11/05 à 20:14



Citation :

Lag a écrit :(define (batch_fill_crop pattern
fill_mode
paint_mode
opacity
threshold
sample_merged
x
y
new_width
new_height
offx
offy)
(let* ((filelist (cadr (file_glob pattern 1)))) (le cadr, j'ai l'impression que c'est une faute de frappe)
(while filelist
(let* ((filename (car filelist))
(image (car (gimp_file_load RUN-NONINTERACTIVE
filename filename))) (pourquoi deux filename?)
(drawable (car (gimp_image_get_active_layer image)))) (j'ai l'impression qu'il y a eu un mélange entre deux fonctions, car normalement, la fonction get_active_layer retourne une variable "active_layer")
(gimp_edit_bucket_fill RUN-NONINTERACTIVE
drawable (cf la question du dessus)
fill_mode
paint_mode
opacity
threshold
sample_merged
x
y)
(gimp_image_crop RUN-NONINTERACTIVE
image
new_width
new_height
offx
offy)
(gimp_file_save RUN-NONINTERACTIVE
image
drawable
filename filename) (idem, pourquoi deux filename?)
(gimp_image_delete image))
(set! filelist (cdr filelist))))) (une autre erreur de frappe pour ce cdr?)




Arf , ca me fait penser à ce que je fait en info ... (c'est en quel langage ? (note: je fais du scheeme et c'est exactement la même chose avec un petit peu moins de fonctions))
Les cadr et cdr c'est tout a fait normal : le cadr , c'est le car du cdr d'une liste (donc le 2e terme de la liste) Smiley : icon_bonk.gif



- - - - - - - - - -
Image Image

Message laissé le 04/11/05 à 22:32



Citation :

Nefka a écrit :
le cadr , c'est le car du cdr d'une liste (donc le 2e terme de la liste) Smiley : icon_bonk.gif



Et là, mon faible niveau ne me permet pas de détecter si c'est une blague ou non Smiley : icon_carbonise.gif



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 05/11/05 à 10:31

En scheme, tu manipules essentiellement des paires, l'élément d'une paire peut être aussi une paire et on peut obtenir de cette façon une structure de liste.

(a,b) une paire
(a,b,c) équivaut à deux paires, ici on voit qu'on a un parenthèsage implicite, ceci équivaut à (a, (c,d))
Donc on voit bien qu'en utilisant finement les paires on peut faire une liste Smiley : lag08.png

la fonction car te permet d'avoir le premier élément de la paire (la tête) : car (a,b,c) = a
la fonction cdr te permet d'avoir le deuxième élément de la paire (la queue) : cdr (a,b,c) = (b,c)
Tu remarques que entre les deux fonction, il n'y a qu'une lettre qui change, "a" veut dire premier et "d" veut dire deuxième. On peut combiner donc les a et les r.
Donc cadr c'est simplement le premier élément du deuxième élément d'une paire : cadr (a,b,c) = b

Donc si t'es un gros maso tu peux utiliser des fonctions genre caddadadadadaddadaadaddaddar si ca te chante (même si je crois que scheme ne te permet pas autant).
Maintenant que vous avez un peu geeké sur scheme, vous pouvez juste voir que Nefka perd ses esprits devant le fonctionnement de scheme, et c'est bien normal Smiley : icon_sadique.gif

En tout cas bien vue Nef, la console script fu de GIMP est bien fait à partir de scheme.

Pour t'aider mon cher Lag, sur le même site qui explique comment marche le batch, il y a des tutos sur scheme et GIMP :

http://www.gimp.org/tutorials/

http://www.gimp.org/tutorials/Basic_Batch/
http://www.gimp.org/tutorials/Basic_Scheme/
http://www.gimp.org/tutorials/Basic_Scheme2/

Pour ton background, je te conseille de faire une sélection de la couleur de ton background avec un outil de sélection avec les paramètres suivants :
aucune tolérance de sélection de la couleur
pas d'effet flous ou n'importe, faire une sélection stricte
(j'ai pas gimp sous la main, mais sur les paramètres de l'outil de sélection on peut faire tout ça)

De cette façon tu ne prendras que les pixels de ton background. Le seul problème serait que ton image ait des pixels de la même couleur que ton background (ce qui serait une perte d'information lors de l'acquisition de ton image, et tu devrais plutôt refaire l'aqcuisition des images en choisissant une couleur de background qui ne soit pas dans ton image, on utilises souvent pour ça le rose fushia ou le vert pétard, mais le noir et le blanc sont de très mauvais choix, le mieux reste d'affecter aucune couleur au background (transparent)).



[Edité : par Jonath lé là le 05/11/2005 à 04:58]



- - - - - - - - - -
Image
"With kindness comes naïveté. Courage becomes foolhardiness. And dedication has no reward. If you can't accept any of that, you are not fit to be a Magical Girl."
でも!でも!かわいいからOK!

Message laissé le 05/11/05 à 14:20

Ok, j'ai vaguement compris pour les paires, les car/cdr/cadr, suffisamment pour comprendre ce qui se passait Smiley : lag08.png

Pour la sélection de couleur, tu as compris quel est le problème que je rencontrais, c'est pourquoi je ne peux pas utiliser cette fonction et que je veux contourner le problème en utilisant directement la fonction de remplissage sur le fond, comme ça l'image ne sera pas touchée Smiley : lag08.png
Le problème, c'est que je ne comprends pas comment "activer" une couleur pour qu'elle soit utilisée au moment du remplissage Smiley : icon_mouais.gif

Et pour le choix de la couleur lors du rip, oui, je choisis du fushia chaque fois que j'en ai l'occasion, mais quand ce n'est pas proposé, il faut faire avec ce qu'on a (comme avec Zsnes par exemple, à moins qu'un truc m'ait échappé).

Voici le listing:



Citation :

(define (batch_fill_crop pattern fill_mode paint_mode opacity threshold sample_merged x y new_width new_height offx offy)
(set! fushia '(255 0 255))
(let* ((files (cadr (file_glob pattern 1))))
(while files
(let* ((filename (car files))
(image (car (gimp_file_load RUN-NONINTERACTIVE
filename filename))) (toujours les deux filename)
(drawable (car (gimp_image_get_active_layer image)))) (même question que la fois d'avant, voir les images plus bas pour les deux fonctions entre lesquelles j'hésite)
(gimp_edit_bucket_fill RUN-NONINTERACTIVE
drawable fill_mode paint_mode opacity threshold sample_merged x y) (à quoi servent les variables threshold et sample_merged?)
(gimp_image_crop RUN-NONINTERACTIVE
image new_width new_height offx offy)
(gimp_file_save RUN-NONINTERACTIVE
image drawable filename filename) (toujours les deux filename)
(gimp_image_delete image))
(set! files (cdr files)))))




http://radical.dreamers.online.fr/temp/gimp_image_get_active_drawable.png
http://radical.dreamers.online.fr/temp/gimp_image_get_active_layer.png

[Edité : par Lag le 05/11/2005 à 08:21]



- - - - - - - - - -
Image
Did you get the number of that donkey cart?

Message laissé le 08/11/05 à 23:16



Citation :

Jonath lé là a écrit :
Donc si t'es un gros maso tu peux utiliser des fonctions genre caddadadadadaddadaadaddaddar si ca te chante (même si je crois que scheme ne te permet pas autant).



Bah en fait il est impossible d'avoir un truc du type cdar avec un a derrière le d puisque le car te renvoit une valeur et le cdr s'applique sur une liste de valeurs Smiley : icon_yeux_triangle1.gif




Citation :

Jonath lé là a écrit :
Maintenant que vous avez un peu geeké sur scheme, vous pouvez juste voir que Nefka perd ses esprits devant le fonctionnement de scheme, et c'est bien normal Smiley : icon_sadique.gif



Mais euh ... Smiley : lag08.png



Citation :

Jonath lé là a écrit :
En tout cas bien vue Nef, la console script fu de GIMP est bien fait à partir de scheme.



Merci, c'est le seul langage qu'on me fait apprendre Smiley : lag30.gif



- - - - - - - - - -
Image Image

Haut de page

Répondre

// Blam ! Version 2.0 Ecrit avec nos petits pieds 44 fillette. //


Télécharger : facile, amusant, génial