From 38b94174d6be986d24e1d7f595d88c93331b61f5 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 19 Oct 2022 05:11:16 +0200 Subject: [PATCH] Icons: Extend render scripts with additional types and formats Signed-off-by: Michael Mayer --- .dockerignore | 1 + .gitignore | 1 + scripts/render/app-icon.sh | 73 +++++++++++++++++++++++++++++++++++ scripts/render/gloss-512.png | Bin 0 -> 65279 bytes scripts/render/svg-icon.sh | 51 ++++++++++++++++++++++++ 5 files changed, 126 insertions(+) create mode 100755 scripts/render/app-icon.sh create mode 100644 scripts/render/gloss-512.png create mode 100755 scripts/render/svg-icon.sh diff --git a/.dockerignore b/.dockerignore index 3ecf2670a..07dde385c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,6 +11,7 @@ /photoprism-* /coverage.* /frontend/tests/acceptance/screenshots +/tmp/ .dockerignore .idea .DS_Store diff --git a/.gitignore b/.gitignore index 188340b7b..b9d6594de 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ /assets/static/build/ /package-lock.json /frontend/tests_output +/tmp/ *.log *.pid *.db diff --git a/scripts/render/app-icon.sh b/scripts/render/app-icon.sh new file mode 100755 index 000000000..4c7bed62d --- /dev/null +++ b/scripts/render/app-icon.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +if [[ -z $1 ]] && [[ -z $2 ]]; then + echo "Usage: ${0##*/} [source.png] [dest]/{size}.png" 1>&2 + exit 1 +fi + +set -e + +sizes=(16 20 29 32 40 48 50 55 56 60 64 72 76 80 100 114 120 128 144 152 160 167 172 175 180 192 196 200 216 224 256 267 400 500 512 1024) +app_sizes=(16 20 29 32 40 48 50 55 56 60 64 72 76 80 100 114 120 128 144 152 160 167 172 175 180 192 196 200 216 224 256 267 400 500 512) +gloss_sizes=(16 20 29 32 40 48 50 55 56 60 64 72 76 80 100 114 120 128 144 152 160 167 172 175 180 192 196 200 216 224 256 267 400) + +# Check if source file exists. +if [ -f "$1" ]; then + echo "Creating icons from $1..." +else + echo "$1 not found" + exit 1 +fi + +# Create dest folder. +mkdir -p "$2" +mkdir -p "$2/app" +mkdir -p "$2/gloss" +mkdir -p "$2/round" + +# Create 1024x1024 icon with rounded corners. + +# convert -size 1024x1024 xc:none -fill white -draw \ +# 'roundRectangle 0,0 1024,1024 100,100' in.png \ +# -compose SrcIn -composite rounded.png + +# convert -size "1024x1024" xc:none -fill white \ +# -draw 'roundRectangle 0,0 1024x1024 100,100' "$1" \ +# -compose SrcIn -composite "$2/1024.png" +# echo "$2/$i.png" + +# Created square icons in all sizes. +for i in "${sizes[@]}" +do + convert "$1" -resize "${i}x${i}^" -gravity center -extent "${i}x${i}" "$2/$i.png" + echo "$2/$i.png" +done + +# Create rounded app icons. +convert -size "1024x1024" xc:none -fill white -draw "roundRectangle 0,0 1024,1024 179,179" "$2/1024.png" -compose SrcIn -composite "$2/app/1024.png" +for i in "${app_sizes[@]}" +do + convert "$2/app/1024.png" -resize "${i}x${i}" "$2/app/$i.png" + echo "$2/app/$i.png" +done + +# Create glossy app icons. +SCRIPT_DIR=$(dirname "$0") +GLOSS_PNG="$SCRIPT_DIR/gloss-512.png" +convert -size "512x512" xc:none -fill white -draw "roundRectangle 0,0 512,512 50,50" "$2/512.png" -compose SrcIn -composite "$2/gloss/512.png" +convert -draw "image Screen 0,0 0,0 '${GLOSS_PNG}'" "$2/gloss/512.png" "$2/gloss/512.png" +for i in "${gloss_sizes[@]}" +do + convert "$2/gloss/512.png" -resize "${i}x${i}" "$2/gloss/$i.png" + echo "$2/gloss/$i.png" +done + +# Create round icons. +convert -size "1024x1024" xc:none -fill white -draw "circle 512,512 512,0" "$2/1024.png" -compose SrcIn -composite "$2/round/1024.png" +for i in "${app_sizes[@]}" +do + convert "$2/round/1024.png" -resize "${i}x${i}" "$2/round/$i.png" + echo "$2/round/$i.png" +done + +echo "Done." \ No newline at end of file diff --git a/scripts/render/gloss-512.png b/scripts/render/gloss-512.png new file mode 100644 index 0000000000000000000000000000000000000000..91601daddf385be0b003e769e283ff9ca667e220 GIT binary patch literal 65279 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

X`?u+@{myb|5ojNm!us8 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 DNEGVk literal 0 HcmV?d00001 diff --git a/scripts/render/svg-icon.sh b/scripts/render/svg-icon.sh new file mode 100755 index 000000000..8a3349551 --- /dev/null +++ b/scripts/render/svg-icon.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +if [[ -z $1 ]]; then + echo "Usage: (1) ${0##*/} assets/static/icons/[name].svg (icons are rendered as assets/static/icons/[name]/{size}.png)" 1>&2 + echo " (2) ${0##*/} [source.svg] [dest]/{size}.png" 1>&2 + exit 1 +fi + +set -e + +sizes=(16 20 29 32 40 48 50 55 56 60 64 72 76 80 100 114 120 128 144 152 160 167 172 175 180 192 196 200 216 256 267 400 512 1024) + +if [[ -z $2 ]]; then + # Check if source file exists. + if [ -f "assets/static/icons/$1.svg" ]; then + echo "Creating icons from assets/static/icons/$1.svg..." + else + echo "assets/static/icons/$1.svg not found" + exit 1 + fi + + # Create dest folder. + mkdir -p "assets/static/icons/$1" + + # Create icons in all sizes. + for i in "${sizes[@]}" + do + rsvg-convert -a -w $i -h $i "assets/static/icons/$1.svg" > "assets/static/icons/$1/$i.png" + echo "assets/static/icons/$1/$i.png" + done +else + # Check if source file exists. + if [ -f "$1" ]; then + echo "Creating icons from $1..." + else + echo "$1 not found" + exit 1 + fi + + # Create dest folder. + mkdir -p "$2" + + # Create icons in all sizes. + for i in "${sizes[@]}" + do + rsvg-convert -a -w $i -h $i $1 > "$2/$i.png" + echo "$2/$i.png" + done +fi + +echo "Done." \ No newline at end of file