In order to convert large and heavy images to light version for websites we can use ImageMagick and Parallel packages.
./convert.sh images/ output/
# OUTPUT
# /output/
# -- /large/
# -- /thumbs/
#!/bin/bash | |
INPUT_DIR=$1 | |
OUTPUT_DIR=$2 | |
LARGE_SIZE=1024 | |
THUMB_SIZE="400x300" | |
mkdir -p $OUTPUT_DIR/large $OUTPUT_DIR/thumbs | |
COMMANDS=() | |
for i in "$OUTPUT_DIR/*.jpg" | |
do | |
COMMANDS+=("convert -resize 1024 -density 72 -quality 85 -strip -interlace Plane $i $OUTPUT_DIR/large/$i"); | |
COMMANDS+=("convert -thumbnail '$THUMB_SIZE^>' -gravity center -crop $THUMB_SIZE+0+0 +repage $i $OUTPUT_DIR/thumbs/$i"); | |
done | |
parallel -k ::: "${COMMANDS[@]}" | |