#1 Le 16/12/2007, à 12:43
- Splitsch
[résolu]Script de création d'un fichier *.pak pour phpbb3
Bonjour à tous,
J'ai trouvé un script sur internet pour créer automatiquement un pack de smilies pour phpbb.
Le script en question crée le fichier *.pak formatté pour phpbb2.
J'essaie de la modifier pour phpbb3.
Voici ou j'en suis:
#!/bin/sh
# usage : ./smilie_generator /chemin/vers/le/fichier.pak
for file in `ls -1 $1/`
do
name=`echo $file | cut -f1 -d.`
ext=`echo $file | cut -f2 -d.`
#récuperer la largeur de l'image à traiter
W= `identify -format "%w" $file`
#récuperer la hauteur de l'image à traiter
H=$(identify -format "%h" $file)
echo "'${name}.${ext}','$H','$W', '19', '${name}', ':${name}:', " >> $2
done
Le problème est que la console me renvoie
identify: unable to open image `angel12.gif': Aucun fichier ou répertoire de ce type.
Cette phrase apparait 2 fois pour chaque image contenue dans le dossier. Mon code de récupération de la hauteur est faux et retourne une erreur, mais je ne vois pas comment "l'améliorer".
Dans le fichier texte, les champs H et W sont vides, alors que le reste est ok.
Je soupçonne que c'est lié au format *.gif des fichiers.
Existe-t-il une fonction alternative pour connaà®tre la taille de l'image?
Merci pour votre aide
Dernière modification par Splitsch (Le 18/12/2007, à 11:45)
Hors ligne
#2 Le 16/12/2007, à 14:50
- k-o-x
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
Il manque juste le dossier dans tes commandes identify
$file => $1/$file
Hors ligne
#3 Le 16/12/2007, à 15:13
- Splitsch
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
Youhouu, ca marche
J'ai une autre petite question, maintenant:
Certaine valeur sont énooormes. Ainsi, pour certains smilies ,j'ai des valeurs complètement folles du style 259999999999999 pour la hauteur.
Il y a vraissemblablement une erreur du coté de imagemagick, car le smilies ne fait que 25 pixels de large. Est-ce que quelqu'un sait comment faire pour ne prendre que les 2 premiers chiffres quand la valeur est plus grande que 200 ?
Merci beaucoup
Hors ligne
#4 Le 17/12/2007, à 18:24
- freebird
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
Une possibilité avec un awk :
W=`identify -format "%w" $i/$file | awk '{ if ($1 > 200) { $1=substr($1,1,2)} ; print $1 }'`
Cela dit je doute que ce soit très propre comme solution. Tu rencontres ce soucis sur un gif animé ?
Dernière modification par freebird (Le 17/12/2007, à 18:26)
Hors ligne
#5 Le 18/12/2007, à 02:48
- freebird
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
J'ai pris 10 minutes pour faire des tests.
Si tu utilises la commande identify sur un gif animé ça te retourne une ligne par image composant le gif. Exemple avec mon avatar :
identify icon_yopyopyop.gif
icon_yopyopyop.gif[0] GIF 15x17 31x20+8+3 PseudoClass 16c 10kb
icon_yopyopyop.gif[1] GIF 5x3 31x20+16+13 PseudoClass 16c 10kb
icon_yopyopyop.gif[2] GIF 9x4 31x20+11+12 PseudoClass 16c 10kb
icon_yopyopyop.gif[3] GIF 8x3 31x20+11+13 PseudoClass 16c 10kb
[...]
icon_yopyopyop.gif[166] GIF 5x3 31x20+16+13 PseudoClass 16c 10kb
icon_yopyopyop.gif[167] GIF 5x3 31x20+16+13 PseudoClass 16c 10kb
icon_yopyopyop.gif[168] GIF 15x17 31x20+8+3 PseudoClass 16c 10kb
Si je lui passe -format "%w" il va me concaténer les largeurs de chaque image.
identify -format "%w" icon_yopyopyop.gif
15598[...]105515
Si je prend que les 2 premiers je vais prendre 15 alors qu'il est parfois plus grand.
Si maintenant je lui dis de sauter une ligne pour séparer chaque valeur, j'ai toutes les tailles :
identify -format "%w\n" icon_yopyopyop.gif
15
5
9
8
[...]
5
5
15
Je pense que le mieux pour toi est de prendre la plus grande des valeurs, je te propose donc les lignes de commandes suivantes pour récupérer les tailles :
hauteur :
W=`identify -format "%h\n" $i/$file | sort -nr | head -1`
largeur :
H=`identify -format "%w\n" $i/$file | sort -nr | head -1`
sort -nr = tri numérique décroissant
head -1 = le premier de la liste soit le plus grand
Voilou
Dernière modification par freebird (Le 18/12/2007, à 03:12)
Hors ligne
#6 Le 18/12/2007, à 08:51
- Splitsch
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
Salut!
Merci pour ces info et test !!
Mon script avance d'un pas en avant, maintenant :d
Splitsch
Hors ligne
#7 Le 18/12/2007, à 10:25
- Splitsch
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
Salut !
Un grand merci, je viens de le tester en "grandeur nature" et ça marche du tonnerre
Ici se trouve le script final:
http://www.pastanque.be/splitsch/technologies/generateur-de-pak-de-smilies-pour-phpbb3.html
Il permet de créer un fichier *.pak, pour pouvoir importer facilement des smilies dans phpbb3.
Aplus et merci
Dernière modification par Splitsch (Le 18/12/2007, à 11:45)
Hors ligne
#8 Le 18/12/2007, à 11:10
- freebird
Re : [résolu]Script de création d'un fichier *.pak pour phpbb3
Content de t'avoir aidé. Pense à ajouter "[Résolu]" dans le titre de ton sujet pour indiquer que tu n'as plus besoin d'aide
Hors ligne