J'ai besoin d'un moyen simple et gratuit pour redimensionner les images et effectuer des travaux par lots, si nécessaire. Le logiciel de manipulation d'images gratuit a été plus difficile à utiliser qu'il ne devrait l'être.
Comme l'a souligné LifeHacker, la commande suivante le fera très facilement:
sips -Z 640 *.jpg
Pour citer leur explication:
"Alors qu'est-ce qui se passe? Eh bien," sips "est la commande utilisée et -Z lui indique de maintenir le rapport hauteur/largeur de l'image." 640 "est la hauteur et la largeur maximales à utiliser et" * .jpg "indique à votre ordinateur de réduire la taille chaque image se terminant par .jpg. C'est vraiment simple et rétrécit vos images très rapidement. Assurez-vous tout d'abord de faire une copie si vous souhaitez également conserver leur plus grande taille. "
Source: http://lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal
imagemagick aide:
$ convert foo.jpg -resize 50% bar.jpg
Il peut faire beaucoup plus de choses, y compris la conversion entre les formats, l'application d'effets, le recadrage, la colorisation et bien plus encore.
Voici un script qui utilise sips
pour redimensionner récursivement toutes les images dans un dossier donné (et ses sous-dossiers), et place les images redimensionnées dans un dossier resized
au même niveau d'arborescence que le image: 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"
Les réponses précédentes sont correctes, vous pouvez également utiliser mogrify. Par exemple, si vous souhaitez réduire de 60% la taille de nombreuses images d'un répertoire, vous pouvez utiliser la commande ci-dessous:
bien sûr, faites toujours une sauvegarde de vos images dans un autre répertoire avant de jouer avec cette commande.
mogrify -resize 60% *
astuce magique pour 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