| 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | set -euo pipefail |
| 4 | |
| 5 | if [ "$#" -ne 3 ]; then |
| 6 | echo "Usage: $0 <input image> <border size> <output name>" |
| 7 | echo "Example: $0 hoodie.png 16 hoodie_border.png" |
| 8 | exit 1 |
| 9 | fi |
| 10 | |
| 11 | INPUT="$1" |
| 12 | BORDER_SIZE="$2" |
| 13 | OUTPUT="$3" |
| 14 | |
| 15 | EXTENT_SIZE=$((BORDER_SIZE * 2)) |
| 16 | |
| 17 | magick "$INPUT" \ |
| 18 | -gravity center -background none -extent "%[fx:w+${EXTENT_SIZE}]x%[fx:h+${EXTENT_SIZE}]" \ |
| 19 | \( +clone \ |
| 20 | -channel A -morphology Dilate Disk:${BORDER_SIZE} +channel \ |
| 21 | -fill white -colorize 100 \) \ |
| 22 | +swap \ |
| 23 | -compose Over \ |
| 24 | -composite \ |
| 25 | "$OUTPUT" |
vobar / ImageMagick Shenanigans
Last active 3 weeks ago
Revision 36a8dc332605d67f058ad587c1202cf23115fc24
| 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | magick \ |
| 4 | -size 88x31 gradient:gold-firebrick \ |
| 5 | -write mpr:img00 +delete \ |
| 6 | -size 83x27 gradient:'#79A58C-#DBFDE5' \ |
| 7 | -write mpr:img01 +delete \ |
| 8 | mpr:img00 -colorspace RGB \ |
| 9 | mpr:img01 -gravity Center -composite \ |
| 10 | -write mpr:img02 +delete \ |
| 11 | mpr:img02 smile.png \ |
| 12 | -gravity East -geometry 27x27+2+0 -composite \ |
| 13 | -write mpr:img03 +delete \ |
| 14 | -size 88x31 mpr:img03 \ |
| 15 | -fill '#0504aa' \ |
| 16 | -background None \ |
| 17 | -font AtkinsonHyperlegible-Bold \ |
| 18 | -pointsize 16 \ |
| 19 | -gravity Center label:vobar \ |
| 20 | -geometry -20+3 -composite \ |
| 21 | -font AtkinsonHyperlegible-Italic \ |
| 22 | -pointsize 14 \ |
| 23 | -gravity Center label:'.eu' \ |
| 24 | -geometry +10+3 -composite \ |
| 25 | button-vobar.png |
| 26 |
| 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | # Generate a button image using intermediate images |
| 4 | |
| 5 | magick -size 88x31 gradient:lightgrey-darkgrey 00.png |
| 6 | magick -size 83x27 gradient:'#79A58C-#DBFDE5' 01.png |
| 7 | magick 00.png -colorspace RGB 01.png -gravity Center -composite 02.png |
| 8 | magick 02.png smile.png -gravity East -geometry 27x27+2+0 -composite 03.png |
| 9 | magick -size 88x31 03.png -fill \#0504aa -background None -font AtkinsonHyperlegible-Regular -pointsize 16 -gravity Center label:Vobar -geometry -10+3 -composite button.png |