#!/bin/bash source ./common.sh #iWidth 323 = oWidth 404 #iHeight 242 = oHeight 374 DIGITS=6 SCALE=$(echo "scale=$DIGITS; 323/404" | bc) OUTER=$(echo "scale=$DIGITS; 374/404" | bc) RATIO=$(echo "scale=$DIGITS; 242/323" | bc) # current ratio 1.088 # template ratio 1.291 if [[ "${1}" != "" ]]; then DPI=${1} else echo "Please provide DPI as first argument" exit 1 fi if [[ "${2}" != "" ]]; then OUTER=${2} else echo "Please provide outer ratio as second argument" exit 2 fi if [[ "${3}" == "" ]]; then echo "Please provide input image as third argument" exit 3 fi if [[ "${4}" == "" ]]; then echo "Please provide output image as fourth argument" exit 4 fi DIM=$(identify -ping -format '%w %h' "${3}") WIDTH=$(echo ${DIM} | awk '{print $1}') HEIGHT=$(echo ${DIM} | awk '{print $2}') R=$(echo "scale=${DIGITS};${HEIGHT}/${WIDTH}" | bc) OW=$(echo "scale=${DIGITS};${DPI}*(404/96)" | bc | awk -F'.' '{print $1}') OH=$(echo "scale=${DIGITS};${OW}*${OUTER}" | bc | awk -F'.' '{print $1}') IW=$(echo "scale=${DIGITS};${OW}*${SCALE}" | bc | awk -F'.' '{print $1}') IH=$(echo "scale=${DIGITS};${IW}*${R}" | bc | awk -F'.' '{print $1}') TMP=$(mktemp -d) convert -size ${OW}x${OH} -colorspace sRGB xc:#FFFFFF "${TMP}/white.tif" convert "${3}" -resize ${IW}x${IH} "${TMP}/resize.tif" composite -gravity Center -colorspace sRGB "${TMP}/resize.tif" "${TMP}/white.tif" "${4}" rm -rf "${TMP}" echo "Centered in white ${3} -> ${4}"