Ho bisogno di un modo semplice e gratuito per ridimensionare le immagini e fare i lavori batch, se necessario. Il software gratuito di manipolazione delle immagini è stato più difficile da usare di quanto dovrebbe essere.Come ridimensionare le immagini usando il terminale su Mac OSX?
risposta
Come sottolineato da Lifehacker, il seguente comando farà questo molto facilmente:
sips -Z 640 *.jpg
Per citare la loro spiegazione:
"? Allora, cosa sta succedendo Bene, 'sorsi' è il comando in uso e -Z dice di mantenere le proporzioni dell'immagine. "640" è l'altezza e la larghezza massima da utilizzare e "* .jpg" indica al tuo computer di ridimensionare ogni immagine che termina con .jpg. È molto semplice e riduce le tue immagini molto Presto, assicurati di fare una copia prima se vuoi preservare anche le loro dimensioni più grandi. "
Fonte: http://lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal
imagemagick aiuta:
$ convert foo.jpg -resize 50% bar.jpg
Ci sono molte più cose che può fare, tra cui la conversione tra formati, applicando effetti, delle colture, colorize e molto, molto di più.
convert: nessun delegato di decodifica per questo formato immagine' PNG ' –
@AlexeySh. manca un delegato per PNG, prova ad installarlo da [qui] (http://www.imagemagick.org/download/delegates/) – L3viathan
Winner, nota che ho semplicemente installato questo con 'homebrew install imagemagick' –
Ecco script che utilizza sips
per ridimensionare in modo ricorsivo tutte le immagini in una determinata cartella (e le sue sottocartelle), e pone le immagini ridimensionate in una cartella resized
sullo stesso livello albero come l'immagine: https://gist.github.com/lopespm/893f323a04fcc59466d7
#!/bin/bash
# This script resizes all the images it finds in a folder (and its subfolders) and resizes them
# The resized image is placed in the /resized folder which will reside in the same directory as the image
#
# Usage: > ./batch_resize.sh
initial_folder="/your/images/folder" # You can use "." to target the folder in which you are running the script for example
resized_folder_name="resized"
all_images=$(find -E $initial_folder -iregex ".*\.(jpg|gif|png|jpeg)")
while read -r image_full_path; do
filename=$(basename "$image_full_path");
source_folder=$(dirname "$image_full_path");
destination_folder=$source_folder"/"$resized_folder_name"/";
destination_full_path=$destination_folder$filename;
if [ ! -z "$image_full_path" -a "$image_full_path" != " " ] &&
# Do not resize images inside a folder that was already resized
[ "$(basename "$source_folder")" != "$resized_folder_name" ]; then
mkdir "$destination_folder";
sips -Z 700 "$image_full_path" --out "$destination_full_path";
fi
done <<< "$all_images"
Ottengo un 'Errore: impossibile eseguire --extractTag su file error' quando si tenta di convertire un png su High Sierra :-( –