Skip to content

Instantly share code, notes, and snippets.

@alexose
Created April 12, 2024 19:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexose/ffa8ef9381d5177d61a6c56b3df395ad to your computer and use it in GitHub Desktop.
Save alexose/ffa8ef9381d5177d61a6c56b3df395ad to your computer and use it in GitHub Desktop.
A bash script to create a nice trio of images using imagemagick
#!/bin/bash
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <image1> <image2> <image3>"
exit 1
fi
image1="$1"
image2="$2"
image3="$3"
size="600x600"
border_size="10x10"
quality=95
temp1="temp_resized_1.jpg"
temp2="temp_resized_2.jpg"
temp3="temp_resized_3.jpg"
bordered1="temp_bordered_1.jpg"
bordered2="temp_bordered_2.jpg"
bordered3="temp_bordered_3.jpg"
output="result.jpg"
convert "$image1" -resize "$size^" -gravity center -crop "$size+0+0" +repage -quality $quality "$temp1"
convert "$image2" -resize "$size^" -gravity center -crop "$size+0+0" +repage -quality $quality "$temp2"
convert "$image3" -resize "$size^" -gravity center -crop "$size+0+0" +repage -quality $quality "$temp3"
convert "$temp1" -bordercolor White -border $border_size -quality $quality "$bordered1"
convert "$temp2" -bordercolor White -border $border_size -quality $quality "$bordered2"
convert "$temp3" -bordercolor White -border $border_size -quality $quality "$bordered3"
convert "$bordered1" "$bordered2" "$bordered3" +append -quality $quality "$output"
rm "$temp1" "$temp2" "$temp3" "$bordered1" "$bordered2" "$bordered3"
echo "Output saved to $output"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment