62 lines
1.2 KiB
Bash
Executable File
62 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
shopt -s nullglob
|
|
|
|
function make_jpg {
|
|
if [ ! -f $2/$1 ]; then
|
|
echo "Converting $2/$1"
|
|
magick $1 -resize $2x$2 -quality 30 $2/$1
|
|
fi
|
|
}
|
|
|
|
function make_webp {
|
|
NAME="$(basename $1 .jpg).webp"
|
|
if [ ! -f $2/$NAME ]; then
|
|
echo "Converting $2/$NAME"
|
|
magick $1 -resize $2x$2 -quality $3 $2/$NAME
|
|
fi
|
|
}
|
|
|
|
function make_avif {
|
|
NAME="$(basename $1 .jpg).avif"
|
|
if [ ! -f $2/$NAME ]; then
|
|
echo "Converting $2/$NAME"
|
|
magick $1 -resize $2x$2 -quality $3 $2/$NAME
|
|
fi
|
|
}
|
|
|
|
for f in original/*.jpg; do
|
|
SUM=$(md5 < $f)
|
|
cp $f ${SUM}.jpg;
|
|
magick identify -format "{ \"src\": \"%f\", \"width\": %w, \"height\": %h },\n" ${SUM}.jpg >> new_data.json
|
|
done
|
|
|
|
for img in *.jpg; do
|
|
make_jpg $img 2400 &
|
|
make_jpg $img 1600 &
|
|
make_jpg $img 1200 &
|
|
make_jpg $img 800 &
|
|
make_jpg $img 600 &
|
|
make_jpg $img 400 &
|
|
make_jpg $img 200 &
|
|
|
|
make_webp $img 2400 50 &
|
|
make_webp $img 1600 50 &
|
|
make_webp $img 1200 50 &
|
|
make_webp $img 800 40 &
|
|
make_webp $img 600 40 &
|
|
make_webp $img 400 40 &
|
|
make_webp $img 200 40 &
|
|
|
|
make_avif $img 2400 70 &
|
|
make_avif $img 1600 70 &
|
|
make_avif $img 1200 70 &
|
|
make_avif $img 800 60 &
|
|
make_avif $img 600 60 &
|
|
make_avif $img 400 50 &
|
|
make_avif $img 200 50 &
|
|
|
|
wait
|
|
done
|