Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.73 KB | None | 0 0
  1. target_size=$1
  2. infile=$2
  3. q=99
  4. insize=$(identify -format '%b' "$2")
  5.  
  6. spin()
  7. {
  8.     # Print spaces to overwrite previous line
  9.     echo -ne "\r                                                            "
  10.     echo -ne "\r$@ "
  11. }
  12. echo $2 is $insize and target_size is $target_size
  13. while ((insize > target_size)); do
  14.     spin "Trying -quality $q"
  15.     outname=/tmp/$(basename ${infile%.*}).jpg
  16.     convert "$infile" -quality $q "$outname"
  17.     if (( $(identify -format '%b' "$outname") <= target_size )); then
  18.         echo
  19.         echo Success using -quality $q !
  20.         echo
  21.         echo Output file is "${infile%.*}-${q}.jpg"
  22.         mv  "$outname" "${infile%.*}-${q}-.jpg"
  23.         insize=$target_size
  24.     fi
  25.     ((q--))
  26. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement