Initial release

This commit is contained in:
dbroqua 2018-05-10 11:59:34 +02:00
parent 21d1609b23
commit 172f075bdc
2 changed files with 93 additions and 0 deletions

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

93
resizePictures.sh Executable file
View file

@ -0,0 +1,93 @@
#! /bin/bash
#########################################################
# #
# resizePictures.sh #
# #
# Author: Damien Broqua <contact@darkou.fr> #
# Github: https://github.com/Dbroqua/resizePictures #
# Licence: Apache License 2.0 #
# #
# Requirement: #
# - imagemagick #
# #
# Usage: #
# - create logo.png in ~/templates #
# - run resizePictures.sh in wanted directory #
# All jpg of the current folder wil be resized and #
# stored in <currentfolder>/resized #
# If cover.jpg found, file will be converted in other #
# size and without logo (for my wordpress theme). #
# #
#########################################################
# Your choices
MAXWIDTH=800
MAXHEIGHT=600
COVERWIDTH=520
COVERHEIGHT=245
# Defining some generic variables
COVERFILE="cover.jpg"
COVERRATIO=$((${COVERWIDTH}/${COVERHEIGHT}))
LOGO=~/template/logo.png
DEST='resized'
OPTIONS='-depth 8 -quality 80 -strip -interlace Plane'
# Defining some colors for log()
RED="\E[31m"
BLUE="\E[44m"
GREEN="\E[92m"
BOLD="\033[4m"
RESET="\033[0m"
# If destination does not exists, create it
if [ ! -d ${DEST} ] ; then
mkdir ${DEST}
fi
# For each files
for image in *.jpg ; do
if [ ! -f ${image} ] ; then
echo -e "${RED}# No file found in ${PWD}${RESET}"
continue
fi
# Convert covert
if [ "${image}" == "${COVERFILE}" ] ; then
echo -e "${GREEN}Converting cover file${RESET}"
# Extract image dimensions
WIDTH=`identify -format "%[fx:w]" ${image}`
HEIGHT=`identify -format "%[fx:h]" ${image}`
# Compute image ratio
IMAGERATIO=$((${WIDTH}/${HEIGHT}))
# Define temporary image size (used for crop)
TMPWIDTH=${WIDTH}
TMPHEIGHT=${HEIGHT}
# Compute temporary with or height to crop correctly image
if [ "${COVERRATIO}" -gt "${IMAGERATIO}" ] ; then
TMPHEIGHT=$((${WIDTH}*${COVERHEIGHT}/${COVERWIDTH}))
else
TMPWIDTH=$((${HEIGHT}*${COVERWIDTH}/${COVERHEIGHT}))
fi
# Crop image with the good ratio
convert -gravity Center -crop ${TMPWIDTH}x${TMPHEIGHT}+0+0 +repage ${image} /tmp/${image}
# Rezise cover and save it
convert ${OPTIONS} -resize ${COVERWIDTH}x${COVERHEIGHT} /tmp/${image} ${DEST}/${image}
# Remove temporary file
rm /tmp/${image}
else
echo -e "${RED}Converting image ${image}${RESET}"
convert -resize ${MAXWIDTH}x${MAXHEIGHT} ${image} ${DEST}/${image}
composite ${OPTIONS} -gravity SouthEast ${LOGO} ${DEST}/${image} ${DEST}/${image}
fi
done