From 0bf69b5bb1200db33e1004e5aa74c17489944dc6 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Thu, 4 Oct 2018 16:50:43 +0100 Subject: [PATCH] Add scripts for managing images --- bin/imageResizeFolder | 27 +++++++++++++++++++++++++++ bin/lanPortImages | 22 ++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100755 bin/imageResizeFolder create mode 100755 bin/lanPortImages diff --git a/bin/imageResizeFolder b/bin/imageResizeFolder new file mode 100755 index 00000000..ab000814 --- /dev/null +++ b/bin/imageResizeFolder @@ -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 diff --git a/bin/lanPortImages b/bin/lanPortImages new file mode 100755 index 00000000..81c8181b --- /dev/null +++ b/bin/lanPortImages @@ -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