aves/scripts/screenshot_post_process.sh
2022-01-12 18:51:34 +09:00

59 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
# process raw screenshots from test driver to generate:
# - scaled down versions for IzzyOnDroid
# - framed versions for Google Play
# expects:
# - ImageMagick 6
# - raw screenshots sized at 1080x2280 in `/screenshots/raw`
DEVICE_OVERLAY=~/code/aves_extra/screenshots/device_overlay_s10e.png
DEVICE_FRAME=~/code/aves_extra/screenshots/device_frame_s10e.png
# DEVICE_FRAME: dimensions of DEVICE_FRAME
FRAME_SIZE=1142x2410
# FRAME_OFFSET: offset for content in DEVICE_FRAME
FRAME_OFFSET=31x53
# PLAY_SIZE: contain FRAME_SIZE in 9:16
PLAY_SIZE=1356x2410
cd screenshots || exit
# add Android system overlay
for source in raw/*/*; do
if [[ -f "$source" ]]; then
target=${source/raw/overlay}
echo "$source -> $target"
mkdir -p "$(dirname "$target")"
convert "$source" $DEVICE_OVERLAY -composite "$target"
fi
done
# izzy: scale down
for source in overlay/*/*; do
if [[ -f "$source" ]]; then
target=${source/overlay/izzy}
echo "$source -> $target"
mkdir -p "$(dirname "$target")"
convert -resize 350x "$source" "$target"
fi
done
# play: add device frame
for source in overlay/*/*; do
if [[ -f "$source" ]]; then
target=${source/overlay/framed}
echo "$source -> $target"
mkdir -p "$(dirname "$target")"
convert "$source" -background transparent -splice $FRAME_OFFSET -extent $FRAME_SIZE $DEVICE_FRAME -composite "$target"
fi
done
# play: fix aspect ratio
for source in framed/*/*; do
if [[ -f "$source" ]]; then
target=${source/framed/play}
echo "$source -> $target"
mkdir -p "$(dirname "$target")"
convert "$source" -gravity center -background transparent -extent $PLAY_SIZE "$target"
fi
done