ImageMagick Fond d'écran DualScreen

Paullux_1er Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
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 ?

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
    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
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > 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
    3. 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
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
    5. 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