Utilizzo di Automator per il ritaglio in serie con coordinate / misure personalizzate

4

Sto cercando di ritagliare automaticamente grandi lotti di immagini. Attualmente sto usando l'azione di Crop Images di Automator, ma manca di opzioni. Posso specificare una larghezza e un'altezza, quindi esegue un ritaglio centrato. Voglio essere in grado di specificare X e Y oltre alla larghezza e all'altezza (per usare i termini Xcode), così posso eseguire un ritaglio coerente per qualsiasi rettangolo personalizzato. Sono disponibili azioni di ritaglio migliori e più dettagliate? Preferibilmente gratis ...:)

    
posta Hoffma 18.04.2014 - 19:26
fonte

2 risposte

8

Ecco un modo per ottenere ciò che desideri con ImageMagick . Speriamo che tu stia usando facilmente Terminal (e anche utilizzare Homebrew per gestire tutti i tuoi pacchetti).

In ogni caso, devi installare ImageMagick in modo da poter eseguire convert dalla riga di comando nel Terminale.

  1. Apri la cartella in cui desideri elaborare in batch tutte le immagini. Se il nome della cartella chiamato images si trova su Desktop, dovrai inserire cd ~/Desktop/images/ nel Terminale.
  2. ImageMagick ha un'opzione integrata per ritagliare le immagini in base a dimensioni e coordinate. Il comando è:

    convert <input documents> <height>x<width>+<pos x>+<pos y> <output filepath>
    

Ritaglio di immagini con ImageMagick

Se voglio ritagliare tutte le immagini in:

  • Altezza: 300px
  • Larghezza: 500 px
  • Posizione X: 100 px in alto a sinistra
  • Posizione Y: 70 px in alto a sinistra

Posso inserire il comando qui sotto:

convert *.jpg -crop 300x500+100+70 result/screenshot.jpg

Assicurati che il percorso file di destinazione esista. In questo caso, dovresti creare una cartella chiamata result in Desktop. Oppure puoi usare il percorso assoluto come ~/Desktop/result o qualunque cartella vuoi puntare. Basta trascinare la cartella in Terminale in questo modo:

    
risposta data 18.04.2014 - 19:52
fonte
0

ImageMagick convert ha funzionato per me, ma solo dopo averlo avvolto in un ciclo for:

for filename in *.jpg; do\
  convert $filename -crop {height}x{width}+{position-x}+{position-y} "result/$filename"
  echo "$filename done"
done
    
risposta data 06.12.2018 - 11:03
fonte

Leggi altre domande sui tag