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 10/11/2010, à 10:13

Totor

[Résolu] [ImageMagick] Sollicitation pour création d'un icone

Bonjour,

Ne connaissant rien à la création graphique, je sollicite votre aide pour la création d'un icone.
L'objectif est de faire une "jauge" afin d'indiquer la progression d'un traitement à double niveaux (1 progression unitaire, 1 progression totale). L'icone est donc réactualisé en fonction de la progression.
Dans sa version la plus simple, il s'agirait d'afficher le % de la progression sous forme de texte. Ceci ne me pose pas de problème mais ce n'est pas vraiment "classe" ni originale.

Pour améliorer cet indicateur, je souhaiterai apporter un effet "shadow" comme le 2nd exemple "Soft Shadow" de cette page mais avec les lettres qui se remplissent petit à petit (comme lors du remplissage d'une bouteille d'eau).

Je dois pouvoir générer l'icone dynamiquement dans un script bash (avec ImageMagick) en fonction de la progression de mon traitement. C'est pourquoi, le texte et le taux de remplissage seront dynamiques.

Je souhaite le background de l'icone transparent afin que cela s'intègre au mieux dans l'environnement utilisateur.

Pour la taille: l'icone sera intégré dans la zone de notification. Donc cela dépend de cette zone. Pour ma part, elle a une hauteur de 24pixels mais j'ai une résolution de 1600*1200. Du fait de cette résolution, la taille du texte est à choisir judicieusement car cela devient vite illisible hmm

Donc voilà, merci pour votre aide.

Si vous avez une meilleure idée plus originale de cet indicateur de progression, n'hésitez-pas à m'en faire la proposition.

merci

@+

Dernière modification par Totor (Le 10/11/2010, à 16:28)


-- Lucid Lynx --

Hors ligne

#2 Le 10/11/2010, à 16:27

Totor

Re : [Résolu] [ImageMagick] Sollicitation pour création d'un icone

A moins que vous ayez une idée plus originale, ne vous attardez pas sur ma demande : j'ai réussi.

#!/bin/bash

trap 'end 1' SIGINT SIGKILL

font="${1:-./Garfield.ttf}"
imageWidth="${2:-320}"
imageHeight="${3:-200}"
strokeWidth="${4:-6}"
strokeColor="${5:-gold}"
initialeColor="${6:-black}"
destinationColor="${7:-red}"
#LimeGreen

file1=.$$_texte1.png
file2=.$$_texte2.png
masque=.$$_masque.png
resultat=.$$_resultat.png

end()
{
    rm "${file2}" "${file1}" "${masque}" "${resultat}"
    exit $1
}

makeIcon()
{
    texte="$1"
    pct=$2
    
    convert -size "${imageWidth}x${imageHeight}" -background matte -stroke "${strokeColor}" -strokewidth "${strokeWidth}" -font "${font}" -gravity center -fill "${initialeColor}" Label:"${texte}" "${file1}"
    infos=( $(convert "${file1}"  -trim info: ))
    height=${infos[2]#*x}
    top=${infos[3]##*+}
    y=$(( (height+top) - pct*height/100 ))

    convert -size "${imageWidth}x${imageHeight}" -background matte -stroke "${strokeColor}" -strokewidth "${strokeWidth}" -font "${font}" -gravity center -fill "${destinationColor}"  Label:"${texte}" "${file2}"
    convert -size "${imageWidth}x${imageHeight}" xc: -draw "rectangle 0,0 ${imageWidth},${y}" "${masque}"
    composite "${file2}"  "${file1}"  "${masque}"  "${resultat}"
    
    echo "icon:${resultat}"
    echo "tooltip:${texte}"
}


{
for ((x=0;x<=100;x++))
do
    makeIcon "${x}%" ${x}
done 
makeIcon "OK !" 100
read -s -n1
} | zenity --listen --notification --window-icon=info --text "0 %"

end 0

Dernière modification par Totor (Le 10/11/2010, à 22:07)


-- Lucid Lynx --

Hors ligne

#3 Le 26/11/2010, à 21:00

Totor

Re : [Résolu] [ImageMagick] Sollicitation pour création d'un icone

Bonsoir,

Je relance le fil pour vous demandez si vous avez une meilleure façon de faire que ceci :

convert -size 320x200 xc:none -stroke snow4 -fill snow2 -draw 'roundrectangle 16,110,304,190 20,40' -fill snow -draw 'roundrectangle 264,110,304,190 20,40' -fill chartreuse3 -draw 'roundrectangle 16,110,289,190 20,40' -fill chartreuse2 -draw 'roundrectangle 249,110,289,190 20,40' -fill none -draw 'roundrectangle 264,110,304,190 20,40' -strokewidth 2 -draw 'roundrectangle 16,110,304,190 20,40' '(' +clone -background snow4 -shadow 80x3+3+3 ')' +swap -background none -layers merge -size 320x100 xc:none -strokewidth 0 -gravity center -font ./Garfield.ttf -pointsize 80 -fill red 'label:95 %' '(' +clone -background firebrick3 -shadow 80x3+3+3 ')' +swap -background none -layers merge image.png

pour donner cela :
Progression de 95%

Dernière modification par Totor (Le 26/11/2010, à 21:00)


-- Lucid Lynx --

Hors ligne