env/utils/bg/generate-cyberia.sh

34 lines
1.1 KiB
Bash

#!/bin/sh
# env
# Written in 2019-2020 by Lucas
# CC0 1.0 Universal/Public domain - No rights reserved
#
# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any
# warranty. You should have received a copy of the CC0 Public Domain
# Dedication along with this software. If not, see
# <http://creativecommons.org/publicdomain/zero/1.0/>.
: ${CANVAS_BGCOLOR:="#000000"}
: ${CANVAS_HEIGHT:=768}
: ${CANVAS_WIDTH:=1366}
: ${IMAGE_HEIGHT:=768}
: ${IMAGE_WIDTH:=1080}
pos_x=$(((CANVAS_WIDTH - IMAGE_WIDTH) / 2))
pos_y=$(((CANVAS_HEIGHT - IMAGE_HEIGHT) / 2))
if ! tmpfile=$(mktemp -t bg.XXXXXXXXXX); then
printf "%s: can't create temporary file\n" "${0##*/}" >&2
exit 1
fi
trap 'rm -f "$tmpfile"' EXIT INT QUIT TERM
pngtopam -alphapam cyberia-cafe-club.png |
pamscale -width "$IMAGE_WIDTH" -height "$IMAGE_HEIGHT" >"$tmpfile"
ppmmake "$CANVAS_BGCOLOR" "$CANVAS_WIDTH" "$CANVAS_HEIGHT" |
pamcomp -xoff "$pos_x" -yoff "$pos_y" "$tmpfile" |
pamtopng >cyberia-cafe-club-bg.png