Salut,
J'ai eu l'idée de faire un affichage en cercle; afin d'afficher les conditions courantes au centre.
Maintenant j'aimerais dans chaque cercle afficher à J+11 les jours (dates); températures, infos vents, et icones prévisions des jours suivants...
Dans le 10ème cercle la lune et ses infos (mais ça je peux le faire).
Je ne sais pas trop quel moyen utiliser pour définir les placements pour que se soit faisable...
Peut-être que qu'il faut faire cercle par cercle ?
Si quelqu'un peut me donner un conseil Merci d'avance.
L'idée:

Edit:
J'ai commencé comme ça:
#!/bin/bash
##################################################
#destination="/tmp/test.png" #
source $meteo_rep/scripts/meteo $meteo_config # entêtes obligatoires
if [ "$start" = "non" ] ;then exit;fi # dans votre fichier
##################################################
# Créé le : mar. 19 mars 2013 09:11:02 CET
# Par : climatix
########## Début de votre composition ############
#------------------ Variables que vous pouvez modifier ------------------------
fonte=Droid-Sans-Bold # fonte generique
fonte1=Lobster-1.4-Regular # fonte ville
fonte2=Droid-Sans-Bold # fonte cond act
fonte3=Arrows-Regular # fonte pour la tendance barometrique
couleur1=white ; couleur2=orangered # couleur texte
# couleurs paliers temp
coultemp1="aqua"
coultemp2="dodgerblue1"
coultemp3="yellow"
coultemp4="white"
coultemp5="springgreen"
coultemp6="red"
coultemp7="black"
# couleurs paliers vent
coulvent1="orange"
coulvent2="dodgerblue1"
coulvent3="yellow"
coulvent4="white"
coulvent5="#0EAF00"
coulvent6="red"
coulvent7="blue"
coulvent8="gold"
coulvent9="black"
coulvent10="#00003F"
# vent -------------------------------------------------------------------------
function coulvent
{
if (($vent < 1 )); then
coul1=$coulvent4
elif (( $vent < 11 && $vent > 0 )); then
coul1=$coulvent5
elif (($vent < 21 && $vent > 10)); then
coul1=$coulvent3
elif (($vent < 31 && $vent > 20 )); then
coul1=$coulvent1
elif (($vent < 61 && $vent > 30 )); then
coul1=$coulvent6
elif (($vent > 60 )); then
coul1=$coulvent7
else coul1=$coulvent7
fi
}
# Décalage depuis haut de l'ecran ex + 50 pour descendre -10 pour monter
decalagehaut=50
# taille du cartouche ville jouez sur l'echelle pour des grands noms de ville
# ex 100 taille normal 50 taille moitié
max=9
caracville=$(echo $(CC ville)|wc -m)
if [ "$caracville" -gt "$max" ];then
taille_ville=100
else
taille_ville=100
fi
# position de 0 à ce que vous voulez pour aligner avec une autre fonte
# ex : -10 pour descendre +10 pour remonter
position_ville=100
# ville -----------------------------------------------------------------------
convert -background transparent -font $fonte1 -pointsize 50 -fill dodgerblue label:"$(CC ville)" \
\( +clone -background Darkblue -shadow 120x1+2+2 \) +swap -background transparent -compose over -layers merge +repage \
$imagetemp
convert $imagetemp -channel A -blur 0x4 +channel -fill skyblue -colorize 0% $imagetemp1
convert -size 700x120 xc:transparent $imagetemp1 -background transparent -gravity center -geometry +0-0 -composite \
$imagetemp -background transparent -gravity center -composite $reptemp/ville.png
# mise en forme ville
convert -resize $taille_ville% $reptemp/ville.png $reptemp/ville.png
# temperatures ----------------------------------------------------------------
function coultemp
{
if (($temp < -5 )); then
coul=$coultemp1
elif (($temp < 1 && $temp > -6 )); then
coul=$coultemp2
elif (($temp < 6 && $temp > 0)); then
coul=$coultemp3
elif (($temp < 20 && $temp > 5 )); then
coul=$coultemp4
elif (($temp < 25 && $temp > 19 )); then
coul=$coultemp5
elif (($temp > 24 )); then
coul=$coultemp6
else coul=$coultemp7
fi
}
function risqueverglas
{
verglas="non"
if (($temp < 5 )); then
verglas="oui"
fi
}
temp=$(CC temp) ; coultemp
convert -background transparent -font $fonte -pointsize 26 -fill $coul label:"$temp ° " $reptemp/max.png
temp=$(CC ressent) ;risqueverglas; coultemp
convert -background transparent -font $fonte -pointsize 14 -fill $couleur1 label:" /" -fill $coul label:"r.$temp °" +append $reptemp/ress.png
temp=$(prev_jour 1 tmpmax ) ; coultemp
convert -background transparent -font Helvetica-LT-Std-Bold -pointsize 14 -fill $couleur1 label:"Max : " -fill $coul label:"$temp °" +append $reptemp/max1.png
# temp la plus basse
function plusbas
{
if (("$temp1" < "$bas")); then
bas="$temp1"
fi
}
temp="$(CC temp)";temp1="$(CC ressent)";bas="$temp";plusbas
temp1="$(prev_quart Nuit 1 ressentmin)";plusbas
temp=$bas;risqueverglas; coultemp
convert -background transparent -font Helvetica-LT-Std-Bold -pointsize 14 -fill $couleur1 label:"+Bas : " -fill $coul label:"$temp °" +append $reptemp/min.png
#-------------------------------------
convert -size 120x120 xc:transparent \
$reptemp/max.png -background transparent -gravity NorthEast -geometry +56+4 -composite \
$reptemp/ress.png -background transparent -gravity Northwest -geometry +50+17 -composite \
$reptemp/max1.png -background transparent -gravity North -geometry +0+31 -composite \
$reptemp/min.png -background transparent -gravity North -geometry +0+49 -composite \
$reptemp/temps.png
rm $reptemp/max.png ;rm $reptemp/max1.png ; rm $reptemp/ress.png ;rm $reptemp/min.png
# Historique ------------------------------------------------------------------
convert $reptemp/temps.png -background transparent -gravity North -font $fonte -pointsize 13 -fill $couleur1 \
-annotate +0+62 "Historique" \
-pointsize 16 -fill $couleur1 -annotate +0+100 "$(prev_jour 1 tmpmaxlast)° / $(prev_jour 1 tmpminlast)°" $reptemp/temps.png
# incruste année --------------------------------------------------------------
an=`date +"%Y"`
convert -background transparent -fill $couleur2 -font $fonte -stroke black -pointsize 18 label:"$[$an-1]" $imagetemp
composite -compose Over -gravity North -geometry +0+77 -dissolve 40,95 $imagetemp $reptemp/temps.png $reptemp/temps.png
convert $reptemp/temps.png -bordercolor None -border 10x10 \( +clone -background black -shadow 60x3 \) -compose DstOver -composite -compose Over $reptemp/temps.png
####CARTOUCHE PRINCIPAL#######################################################################################
####DESSINER-CERCLE-TRANS#################
convert -size 820x820 xc:transparent -fill transparent -strokewidth 2 -stroke firebrick3 -draw 'translate 410,410 circle 0,0 390,0' $imagetemp
convert -size 160x160 xc:transparent -fill transparent -strokewidth 2 -stroke firebrick3 -draw 'translate 80,80 circle 0,0 78,0' $reptemp/petitronds.png
convert $imagetemp -background none \
$reptemp/petitronds.png -background transparent -gravity North -geometry +5+20 -composite \
$reptemp/petitronds.png -background transparent -gravity South -geometry -0+20 -composite \
$reptemp/petitronds.png -background transparent -gravity east -geometry +20+5 -composite \
$reptemp/petitronds.png -background transparent -gravity west -geometry +20+0 -composite \
$reptemp/petitronds.png -background transparent -gravity North -geometry -150+60 -composite \
$reptemp/petitronds.png -background transparent -gravity North -geometry -265+175 -composite \
$reptemp/petitronds.png -background transparent -gravity South -geometry -265+178 -composite \
$reptemp/petitronds.png -background transparent -gravity South -geometry -153+63 -composite \
$reptemp/petitronds.png -background transparent -gravity North -geometry +270+180 -composite \
$reptemp/petitronds.png -background transparent -gravity North -geometry +160+65 -composite \
$reptemp/petitronds.png -background transparent -gravity South -geometry +265+170 -composite \
$reptemp/petitronds.png -background transparent -gravity South -geometry +153+60 -composite \
$imagetemp
# ombres cartouche ------------------------------------------------------------
convert $imagetemp -bordercolor None -border 11x11 \( +clone -background black -shadow 100x2 \) -compose DstOver -composite -compose Over $reptemp/cercle_P.png
###Aspiro##Cercles#
rm $reptemp/petitronds.png ;rm $imagetemp
# icone conditions actuel
convert $(CC ico) -resize 60% -bordercolor None -border 20x20 \( +clone -background black -shadow 100x2 \) -compose DstOver -composite -compose Over $reptemp/ico_cond.png
###ROND CARTOUCHE CENTRE####
convert -size 450x450 xc:transparent -fill transparent -strokewidth 2 -stroke firebrick3 -draw 'translate 225,225 circle 0,0 223,0' $imagetemp
# données meteo cartouche 1 ---------------------------------------------------
#prochaine M.a.j
heure=$heure_maint
if (( `echo ${heure:0:1}` == 0 ));then heure=`echo ${heure:1:1}` ; fi
update=$((interval * 60))
mins=$min_maint
if (( `echo ${mins:0:1}` == 0 ));then mins=`echo ${mins:1:1}` ; fi
secact=$(($heure*3600+$mins*60))
proch=$(($update+$secact))
resproch=`printf "%02dh%02d" $(($proch/3600)) $(($proch/60%60))`
bord=150 ;pos1=230 ;pos2=242 ;posdepart=150 ;ecart=12
for (( x=1 ; x<11 ; x++ ));do
convert $imagetemp -background transparent -gravity Northwest -font $fonte -pointsize 11 -fill $couleur1 \
-annotate +$pos1+$(((ecart*x)+posdepart)) ":" \
$imagetemp
done
# Tendance pression -------------####ARROWS####-----------------------------------------------
tendpress=$(CC tendpression)
if [ "$tendpress" == "hausse" ];then tpos=-6;tend="c";convert -background none -font $fonte3 -fill $coultemp3 -size x25 -gravity center label:"$tend" $reptemp/tend.png
elif [ "$tendpress" == "baisse" ];then tpos=-6;tend="d";convert -background none -font $fonte3 -fill $coultemp3 -size x25 -gravity center label:"$tend" $reptemp/tend.png
else
tpos=-3;tend="~\n~";convert -interline-spacing -13 -background none -fill $coultemp3 -size x27 -gravity North label:"$tend" $reptemp/tend.png
fi
if [ "$verglas" = "oui" ];then
convert $imagetemp -background transparent \
-gravity Northwest -font $fonte -pointsize 11 -fill $couleur1 -annotate +$bord+$posdepart "Prob. Précip." -annotate +$pos1+$posdepart ":" -annotate +$pos2+$posdepart "$(prev_jour 1 precip) %" \
-annotate +$bord+$(((ecart*1)+posdepart)) "Humidité" -annotate +$pos2+$(((ecart*1)+posdepart)) "$(CC humid) %" \
-annotate +$bord+$(((ecart*2)+posdepart)) "Pression-Tend" -annotate +$pos2+$(((ecart*2)+posdepart)) "$(CC pression) mb --" \
-annotate +$bord+$(((ecart*3)+posdepart)) "Pluie / Neige" -annotate +$pos2+$(((ecart*3)+posdepart)) "$(prev_jour 1 pluie) mm /$(prev_jour 1 neige) cm" \
-annotate +$bord+$(((ecart*4)+posdepart)) "Verglas" -annotate +$pos2+$(((ecart*4)+posdepart)) "$(prev_jour 1 verglas) mm" \
-annotate +$bord+$(((ecart*5)+posdepart)) "Visibilité" -annotate +$pos2+$(((ecart*5)+posdepart)) "$(CC visib) km U.V : $(CC uv)" \
-annotate +$bord+$(((ecart*6)+posdepart)) "Levé - Couché" -annotate +$(($pos2 - 3))+$(((ecart*6)+posdepart)) "$(prev_jour 1 sollever) -$(prev_jour 1 solcouch)" \
-annotate +$bord+$(((ecart*7)+posdepart)) "Durée du jour" -annotate +$(($pos2 - 3))+$(((ecart*7)+posdepart)) "$(prev_jour 1 solduree)" \
-annotate +$bord+$(((ecart*8)+posdepart)) "Rafales Max" -annotate +$pos2+$(((ecart*8)+posdepart)) "$(prev_jour 1 rafale) Km/h" \
-annotate +$bord+$(((ecart*9)+posdepart)) "Mise à jour à" -annotate +$pos2+$(((ecart*9)+posdepart)) "$maint" \
-annotate +$bord+$(((ecart*10)+posdepart)) "Prochaine à" -annotate +$pos2+$(((ecart*10)+posdepart)) "$resproch" \
$imagetemp
convert $imagetemp $reptemp/tend.png -background transparent -gravity NorthEast -geometry +10+$((28+$tpos)) -composite $imagetemp
else
convert $imagetemp -background transparent \
-gravity Northwest -font $fonte -pointsize 11 -fill $couleur1 -annotate +$bord+$posdepart "Prob. Précip." -annotate +$pos1+$posdepart ":" -annotate +$pos2+$posdepart "$(prev_jour 1 precip) %" \
-annotate +$bord+$(((ecart*1)+posdepart)) "Humidité" -annotate +$pos2+$(((ecart*1)+posdepart)) "$(CC humid) %" \
-annotate +$bord+$(((ecart*2)+posdepart)) "Pression-Tend" -annotate +$pos2+$(((ecart*2)+posdepart)) "$(CC pression) mb --" \
-annotate +$bord+$(((ecart*3)+posdepart)) "Pluie " -annotate +$pos2+$(((ecart*3)+posdepart)) "$(prev_jour 1 pluie) mm " \
-annotate +$bord+$(((ecart*4)+posdepart)) "Visibilité" -annotate +$pos2+$(((ecart*4)+posdepart)) "$(CC visib) km" \
-annotate +$bord+$(((ecart*5)+posdepart)) "U.V" -annotate +$pos2+$(((ecart*5)+posdepart)) "$(CC uv)" \
-annotate +$bord+$(((ecart*6)+posdepart)) "Levé - Couché" -annotate +$(($pos2 - 3))+$(((ecart*6)+posdepart)) "$(prev_jour 1 sollever) -$(prev_jour 1 solcouch)" \
-annotate +$bord+$(((ecart*7)+posdepart)) "Durée du jour" -annotate +$(($pos2 - 3))+$(((ecart*7)+posdepart)) "$(prev_jour 1 solduree)" \
-annotate +$bord+$(((ecart*8)+posdepart)) "Rafales Max" -annotate +$pos2+$(((ecart*8)+posdepart)) "$(prev_jour 1 rafale) Km/h" \
-annotate +$bord+$(((ecart*9)+posdepart)) "Mise à jour à" -annotate +$pos2+$(((ecart*9)+posdepart)) "$maint" \
-annotate +$bord+$(((ecart*10)+posdepart)) "Prochaine à" -annotate +$pos2+$(((ecart*10)+posdepart)) "$resproch" \
$imagetemp
convert $imagetemp $reptemp/tend.png -background transparent -gravity NorthEast -geometry +5+$((228+$tpos)) -composite $imagetemp
fi
# ombres cartouche -------------------------------------------------------------
convert $imagetemp -bordercolor None -border 10x10 \( +clone -background black -shadow 100x2 \) \
-compose DstOver -composite -compose Over $reptemp/actuel.png
# versions ---------------------------------------------------------------------
convert -background none -fill orange -font $fonte -pointsize 10 \
label:"Meteo v-$Ver_meteo Recmeteo v-$vrecmeteo" -trim \
\( +clone -background grey19 -shadow 100x1 -channel A -level 0,5% +channel \) +swap +repage -gravity center -composite $reptemp/versions.png
# assemblage
convert $fondbase \
$reptemp/ville.png -background transparent -gravity west -geometry +20-$((10+position_ville-decalagehaut)) -composite \
$reptemp/cercle_P.png -background transparent -gravity west -geometry +15+70 -composite \
$reptemp/actuel.png -background transparent -gravity west -geometry +203+70 -composite \
$reptemp/ico_cond.png -background transparent -gravity west -geometry +430-50 -composite \
$reptemp/versions.png -background transparent -gravity west -geometry +350+140 -composite \
$reptemp/temps.png -background transparent -gravity west -geometry +370+210 -composite \
$imagefinale
##################################################
# obligatoire pour rafraichir le fond d'ecran
affichage
exit
#