echo $(( $1$(tr -dc "0-9" < /dev/urandom | head -c $((${#1} + 2))) % $1 ))
}
-[ $# -gt 0 ] || die "Usage: $0 [-p image_prefix] [-s destination_size (absolute or percentage)] [-d destination_directory] imagefile(s)"
-
type convert >/dev/null 2>&1 || die "ImageMagick (convert, identify) is not installed"
type jhead 1>/dev/null 2>&1 || type exiftool 1>/dev/null 2>&1 || die "jhead or exiftool has to be installed"
file_prefix=""
dst_size="1920"
dst_dir="--same--"
+jpg_quality="75"
+
+[ $# -gt 0 ] || die "Usage: $0 [-p image_file_prefix] [-s destination_size (absolute or percentage, default: $dst_size)] [-d destination_directory] [-q destination_jpg_quality (default: $jpg_quality)] imagefile(s)"
-while getopts ':p:s:d:' OPTION
+while getopts ':p:s:d:q:' OPTION
do
case $OPTION in
"p")
dst_dir="${OPTARG%/}/" # enforce a trailing "/"
[ -d "$dst_dir" ] || die "destination directory \"$dst_dir\" does not exist"
;;
+ "q")
+ jpg_quality="$OPTARG"
+ ;;
*)
err "not recognised: OPTION=$OPTION, OPTARG=$OPTARG"
;;
-attenuate 2 +noise Uniform \
-resize "$dst_size" \
-colorspace sRGB \
+ -quality "$jpg_quality" \
"$dst_jpg"
else
err "image is too small to be distorted and will just be filtered and resized"
-attenuate 2 +noise Uniform \
-resize "$dst_size" \
-colorspace sRGB \
+ -quality "$jpg_quality" \
"$dst_jpg"
fi
#