ImageMagick Fond d'écran DualScreen

Paullux_1er Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour,

J'ai un bout de code :

mkdir <répertoire des images de sortie>
cd <répertoire des images de base>
timestamp=$(date +"%y%m%d")
for i in *;do convert "$i" "$i" +append ../<répertoire des images de sortie>/"$timestamp"_"$i".jpg;done


J'aimerai que le choix des deux images soit aléatoire (au lieu d'une seule image dupliquée aujourd'hui).

Le tout sans en oublier une seule...

Comment faut-il faire ?

A voir également:

1 réponse

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

Une solution pas très catholique pour les puristes du shell ;-))

mkdir <répertoire des images de sortie>
cd <répertoire des images de base>
timestamp=$(date +"%y%m%d")
fich=$(ls -1 | sort -R)
for i in "${fich}";do convert "$i" "$i" +append ../<répertoire des images de sortie>/"$timestamp"_"$i".jpg;done

1
Paullux_1er Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   1
 
J'ai ajouté :

for i in *;do for j in *;do convert "$i" "$j" +append ../Sorties/"$timestamp"_"$i"_"$j".jpg;done;done
0
zipe31 Messages postés 38797 Statut Contributeur 6 433 > Paullux_1er Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
Arf je n'avais pas tout bien compris à ton problème ;-(

Mais je doute que ta nouvelle syntaxe fasse exactement ce à quoi tu aspires ;-\
0
Paullux_1er Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   1
 
non, ça je me trouve avec un nombre de photos au carré de celui d'avant
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Essaye ça :

mkdir <répertoire des images de sortie>
cd <répertoire des images de base>
timestamp=$(date +"%y%m%d")
A=(*)
C=$(ls -1 | wc -l)

for i in "${A[@]}";do convert "${i}" "${A[((C-1))]}" +append ../<répertoire des images de sortie>/"$timestamp"_"$i".jpg;((C--));done


Ce n'est pas exactement de l'aléatoire. En fait on inverse juste la liste.
0
Paullux_1er Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   1
 
J'ai essayé moi aussi, que penses-tu de ça :

for i in *;do for j in *;do if (( RANDOM %2 )); then if (( RANDOM %2 )); then convert "$i" "$j" +append ../Sorties/"$timestamp"_"$i"_"$j".jpg;fi;fi;done;done


????

C'est long en calcul, mais c'est aléatoire... et l'ensemble des images sont traitées...
0