RCE Foto

(i) Per navigare su JuzaPhoto, è consigliato disabilitare gli adblocker (perchè?)






Login LogoutIscriviti a JuzaPhoto!
JuzaPhoto utilizza cookies tecnici e cookies di terze parti per ottimizzare la navigazione e per rendere possibile il funzionamento della maggior parte delle pagine; ad esempio, è necessario l'utilizzo dei cookie per registarsi e fare il login (maggiori informazioni).

Proseguendo nella navigazione confermi di aver letto e accettato i Termini di utilizzo e Privacy e preso visione delle opzioni per la gestione dei cookie.

OK, confermo


Puoi gestire in qualsiasi momento le tue preferenze cookie dalla pagina Preferenze Cookie, raggiugibile da qualsiasi pagina del sito tramite il link a fondo pagina, o direttamente tramite da qui:

Accetta CookiePersonalizzaRifiuta Cookie

divisione immagini verticali da orizzontali con imagemagick da terminale su mac


  1. Forum
  2. »
  3. Tecnica, Composizione e altri temi
  4. » divisione immagini verticali da orizzontali con imagemagick da terminale su mac





avatarsenior
inviato il 13 Novembre 2024 ore 17:44

Come usare image magick per copiare le immagini verticali in una cartella VERTICALE e le immagini orizzontali in una cartella ORIZZONTALI.
Lo script è per mac ed eseguibile tramite terminale con linea di comando.
ATTENZIONE: la shell di comando è ZSH quindi è in dotazione da CATALINA in avanti.
Da usare solo se si sa quello che si sta facendo, se non si hannoo nozioni almeno di base programmazione usare molta cautela.
ISTRIUZIONI:
1) mettere lo script separa_immagini_volume.zsh sulla scrivania,
2) aprire il terminale, portarsi nella directory Desktop, (cd Desktop) quindi digitare: chmod +x separa_immagini_volume.zsh per rendere eseguibile lo script
3) per eseguire lo script digitare da terminale : ~/Desktop/separa_immagini_volume.zsh
4) quando richiesto dal terminale digitare il percorso assoluto della directory da dove si devono copiare i file
5) quando richiesto dal terminale digitare il percorso assoluto dove si vogliono mettere le cartelle ORIZZONTALI e VERTICALI
6) nel terminale verranno elencati tutti i file con le rispettive misure come controllo.

COPIARE TESTO DELLO SCRIPT senza le righe con ==== e salvare come: separa_immagini_volume.zsh
==========SCRIPT=================
#!/bin/zsh

# Chiedi all'utente di inserire la directory di origine
echo "Inserisci il percorso della directory da cui copiare le immagini (es. /Volumes/NomeDelTuoDisco o ~/Immagini):"
read SOURCE_DIR

# Espandi il percorso se l'utente utilizza ~
SOURCE_DIR=$(eval echo $SOURCE_DIR)

# Verifica se la directory di origine esiste
if [[ ! -d "$SOURCE_DIR" ] ] ; then
echo "La directory $SOURCE_DIR non esiste."
exit 1
fi

# Chiedi all'utente di inserire la directory di destinazione per le immagini
echo "Inserisci il percorso della directory dove salvare le immagini (es. ~/Immagini/Copiate):"
read DEST_DIR

# Espandi il percorso se l'utente utilizza ~
DEST_DIR=$(eval echo $DEST_DIR)

# Crea le cartelle di destinazione per VERTICALE e ORIZZONTALE
mkdir -p "$DEST_DIR/VERTICALE"
mkdir -p "$DEST_DIR/ORIZZONTALE"

# Cerca tutte le immagini .jpg nella directory di origine e nelle sottocartelle
echo "Cercando immagini .jpg in $SOURCE_DIR e nelle sottocartelle..."
find "$SOURCE_DIR" -type f -name "*.jpg" | while read img; do
# Controlla se il file esiste
if [[ -f "$img" ] ] ; then
# Ottieni larghezza e altezza dell'immagine
read width height <<< $(magick identify -format "%w %h" "$img")

# Controlla i valori di larghezza e altezza
width=${width:-0}
height=${height:-0}

# Stampa dimensioni per debug
echo "Elaborando: $img"
echo "Larghezza: $width, Altezza: $height"

# Verifica se l'immagine è verticale o orizzontale
if (( height > width )); then
echo "Copiando $img in $DEST_DIR/VERTICALE/"
cp "$img" "$DEST_DIR/VERTICALE/"
else
echo "Copiando $img in $DEST_DIR/ORIZZONTALE/"
cp "$img" "$DEST_DIR/ORIZZONTALE/"
fi
else
echo "File non valido: $img"
fi
done

echo "Copia completata!"

==============FINE SCRIPT=================

VARIAZIONI POSSIBILI:
cambiare valore estensione file jpg con jpeg, dng o altro:

Nello script a questo punto:

# Cerca tutte le immagini .jpg nella directory di origine e nelle sottocartelle
echo "Cercando immagini .jpg in $SOURCE_DIR e nelle sottocartelle..."
find "$SOURCE_DIR" -type f -name "*.jpg" | while read img; do

cambiare tutti i valori ad esempio jpg con dng se si vogliono copiare file dng.
La stessa cosa si può fare con TiIF ed ogni altra estensione di file,
attenzione alle maiuscole e minuscole.

ATTENZIONE non c'è modo di tornare indietro se si sbaglia si possono perdere i file, fate delle prove prima in cartelle apposite per verifica prima di agire su interi HD.

Note: testato su macmini M1 Sonoma 14.6.1

dove scaricare Imagemagick:

Se qualcuno lo modifica per windows sarebbe ottimo. Sorriso

Che cosa ne pensi di questo argomento?


Vuoi dire la tua? Per partecipare alla discussione iscriviti a JuzaPhoto, è semplice e gratuito!

Non solo: iscrivendoti potrai creare una tua pagina personale, pubblicare foto, ricevere commenti e sfruttare tutte le funzionalità di JuzaPhoto. Con oltre 252000 iscritti, c'è spazio per tutti, dal principiante al professionista.







Metti la tua pubblicità su JuzaPhoto (info)


 ^

JuzaPhoto contiene link affiliati Amazon ed Ebay e riceve una commissione in caso di acquisto attraverso link affiliati.

Versione per smartphone - juza.ea@gmail.com - Termini di utilizzo e Privacy - Preferenze Cookie - P. IVA 01501900334 - REA 167997- PEC juzaphoto@pec.it

www.juzaphoto.com - www.autoelettrica101.it

Possa la Bellezza Essere Ovunque Attorno a Me