Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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 smile

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 smile

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 smile

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 wink

Hors ligne