Skip to content

Instantly share code, notes, and snippets.

@BenBergman
Created June 9, 2024 16:00
Show Gist options
  • Save BenBergman/f8feb2999a71c121a9554c61af6b12b4 to your computer and use it in GitHub Desktop.
Save BenBergman/f8feb2999a71c121a9554c61af6b12b4 to your computer and use it in GitHub Desktop.
Scripts for generating 9mm tall labels for gridfinity bins 1U and 2U wide
#!/bin/bash
ICON_DIR="Icon Set PNG"
HEAD="Head_Hex.png"
SCREW="Screw_Socket.png"
TOP_TEXT="M5"
BOTTOM_TEXT="304 Stainless"
TEXT=" "
OUT="${TOP_TEXT}-${BOTTOM_TEXT}-${SCREW%.*}-${HEAD%.*}.png"
## TODO: if only one line, use this (maybe replace label with caption for word wrap?)
#-gravity center \
#label:"$TEXT" -geometry +0+0 -compose over -composite \
convert -size 250x52 xc:white \
"$ICON_DIR/$HEAD" -resize x52 -gravity west -composite \
"$ICON_DIR/$SCREW" -resize x52 -gravity east -composite \
+repage -size 150x52 \
-background none -fill black \
-font "Helvetica-Bold" \
-gravity north \
label:"$TOP_TEXT" -geometry +0+2 -compose over -composite \
-gravity south \
label:"$BOTTOM_TEXT" -geometry +0-2 -compose over -composite \
"$OUT"
#!/bin/bash
HEAD="CNC_Kitchen.png"
SCREW="Insert_Heat.png"
TOP_TEXT="M3×3mm M4×4mm M5×5.8mm"
BOTTOM_TEXT="Brass Threaded Inserts"
TEXT=" "
OUT="$TOP_TEXT-$BOTTOM_TEXT.png"
## TODO: if only one line, use this (maybe replace label with caption for word wrap?)
#-gravity center \
#label:"$TEXT" -geometry +0+0 -compose over -composite \
convert -size 520x52 xc:white \
"$HEAD" -resize x52 -gravity west -composite \
"$SCREW" -resize x52 -gravity east -composite \
+repage -size 400x52 \
-background none -fill black \
-font "Helvetica-Bold" \
-gravity north \
label:"$TOP_TEXT" -geometry +0+2 -compose over -composite \
+repage -size 250x52 \
-gravity south \
label:"$BOTTOM_TEXT" -geometry +0-2 -compose over -composite \
"$OUT"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment