Saya perlu cara sederhana dan bebas untuk mengubah ukuran gambar dan melakukan pekerjaan batch, jika diperlukan. Gratis perangkat lunak manipulasi gambar yang telah lebih sulit untuk digunakan dibandingkan yang seharusnya.
Seperti yang ditunjukkan oleh LifeHacker, perintah berikut ini akan melakukan hal ini sangat mudah:
sips -Z 640 *.jpg
Mengutip penjelasan mereka:
"Jadi apa yang's terjadi? Nah, "teguk" adalah perintah yang digunakan dan -Z mengatakan itu untuk menjaga citra's rasio aspek. "640" adalah tinggi dan lebar maksimum yang akan digunakan dan "*.jpg" memerintahkan komputer anda untuk berhemat setiap gambar yang berakhiran .jpg. It's benar-benar sederhana dan menyusut gambar anda dengan sangat cepat. Hanya pastikan untuk membuat salinan pertama jika anda ingin menjaga ukuran yang lebih besar juga."
Sumber: http://lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal
Berikut ini adalah script yang menggunakan menyeruput
untuk rekursif mengubah ukuran semua gambar dalam folder tertentu (dan sub-folder), dan tempat-tempat yang di-resize gambar dalam ukurannya
folder pada pohon yang sama tingkat seperti gambar: 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"
Sebelumnya jawaban yang benar, anda dapat menggunakan mogrify juga. Misalnya, jika anda ingin mengurangi ukuran banyak gambar dalam sebuah direktori dengan 60% maka anda dapat menggunakan perintah di bawah ini:
tentu saja selalu membuat cadangan gambar anda ke direktori lain sebelum bermain dengan perintah ini.
mogrify -resize 60% *