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[@]}" | |