Мне нужен простой и бесплатный способ изменить размер изображения и делать пакетные задания, если это необходимо. Бесплатное программное обеспечение манипуляции изображения было сложнее в использовании, чем это должно быть.
Как указано на сайте Lifehacker, следующая команда будет делать это очень легко:
sips -Z 640 *.jpg
Цитировать их объяснение:
"Так что'ы происходит? Ну, на "СИП" это команда используется и-Z говорит это для поддержания имиджа'соотношение сторон ы. на "640" это максимальная высота и ширина, чтобы быть использованы и "*.форматы jpg" и поручает ваш компьютер, чтобы уменьшить каждое изображение, заканчивающийся в .формат JPG. Это's действительно простой и сжимается очень быстро ваши изображения. Просто будьте уверены, чтобы сделать первую копию, если вы хотите сохранить их больших размеров, а также.&и"
Источник: http://lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal
утилиты помогает:
$ convert foo.jpg -resize 50% bar.jpg
Есть гораздо больше вещей он может сделать, в том числе и конвертирование между форматами, применение эффектов, кадрирование, тонирование и многое, многое другое.
Вот скрипт, который использует пси
рекурсивно изменить размер всех изображений в заданной папке (и ее подпапках), и места изменения размеров изображения в уменьшенное папку на том же уровне дерева, как на картинке: 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"
Предыдущие ответы правильные, вы можете пользоваться однако существует. Например, если вы хотите уменьшить размер большого количества изображений в каталоге на 60%, то вы можете использовать следующую команду:
конечно, всегда делайте резервную копию ваших изображений в другую папку, прежде чем играть с этой командой.
mogrify -resize 60% *
волшебная палочка для itunesconnect :)
mkdir ./iPhone5-5-Portrait
sips -z 2208 1242 *.jpg -s formatOptions 70 --out ./iPhone5-5-Portrait
sips -z 2208 1242 *.png --out ./iPhone5-5-Portrait