Add scripts for managing images

master
Jonathan Hodgson 6 years ago
parent 334633b16f
commit 3a3210fc99
  1. 27
      bin/imageResizeFolder
  2. 22
      bin/lanPortImages

@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Purpose: batch image resizer
# absolute path to image folder
FOLDER="$PWD"
# max height
WIDTH=${1:-"999999"}
# max width
HEIGHT=${2:-"999999"}
echo "Width: $WIDTH";
echo "Height: $HEIGHT";
#resize png or jpg to either height or width, keeps proportions using imagemagick
#find ${PWD} -iname '*.jpg' -o -iname '*.png' -exec echo convert \{} -verbose -resize $WIDTHx$HEIGHT\> \{}.new.jpg \;
find ${PWD} \( -iname "*.jpg" -o -iname "*.png" \) -exec convert {} -verbose -resize "$WIDTH"x"$HEIGHT" \{}.new \;
#resize png to either height or width, keeps proportions using imagemagick
#find ${FOLDER} -iname '*.png' -exec convert \{} -verbose -resize $WIDTHx$HEIGHT\> \{} \;
#resize jpg only to either height or width, keeps proportions using imagemagick
#find ${FOLDER} -iname '*.jpg' -exec convert \{} -verbose -resize $WIDTHx$HEIGHT\> \{} \;
# alternative
#mogrify -path ${FOLDER} -resize ${WIDTH}x${HEIGHT}% *.png -verbose

@ -0,0 +1,22 @@
#!/usr/bin/env bash
mkdir "portraits"
mkdir "landscapes"
for f in ./*.jpg; do
WIDTH=$(identify -format "%w" "$f")> /dev/null
HEIGHT=$(identify -format "%h" "$f")> /dev/null
echo "Width: $WIDTH"
echo "Height: $HEIGHT"
echo ""
if [[ "$HEIGHT" > "$WIDTH" ]]; then
mv "$f" portraits/
else
mv "$f" landscapes/
fi
#if file "$f" 2>&1 | awk '/w =/{w=$5+0; h=$7+0; if (h>w) exit; else exit 1}'
#then
# mv "$f" portraits/
#else
# mv "$f" landscapes/
#fi
done
Loading…
Cancel
Save