Initial release
This commit is contained in:
parent
21d1609b23
commit
172f075bdc
2 changed files with 93 additions and 0 deletions
BIN
logo.png
Normal file
BIN
logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
93
resizePictures.sh
Executable file
93
resizePictures.sh
Executable 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
|
Loading…
Reference in a new issue