|
| 1 | +#!/bin/sh |
| 2 | +# Requirement: `convert` command of ImageMagick |
| 3 | + |
| 4 | +ORIGINAL_PREFIX="rust-memory-container-cs" |
| 5 | +ORIGINAL_RESOLUTION="3840x2160" |
| 6 | +VARIANT_RESOLUTIONS=( "1920x1080" "1280x720" "192x108" ) |
| 7 | + |
| 8 | +make_original_filename() |
| 9 | +{ |
| 10 | + # OUT |
| 11 | + ORIGINAL_FILENAME="${ORIGINAL_PREFIX}.png" |
| 12 | + echo $ORIGINAL_FILENAME |
| 13 | +} |
| 14 | + |
| 15 | +make_variant_filename() |
| 16 | +{ |
| 17 | + # IN |
| 18 | + VARIANT_RESOLUTION=$1 |
| 19 | + VARIANT_SUFFIX=$2 |
| 20 | + # OUT |
| 21 | + mkdir -p ${VARIANT_RESOLUTION} |
| 22 | + VARIANT_FILENAME="${VARIANT_RESOLUTION}/${ORIGINAL_PREFIX}-${VARIANT_RESOLUTION}-${VARIANT_SUFFIX}.png" |
| 23 | + echo $VARIANT_FILENAME |
| 24 | +} |
| 25 | + |
| 26 | +make_variants() |
| 27 | +{ |
| 28 | + # IN |
| 29 | + VARIANT_OPTIONS=$1 |
| 30 | + VARIANT_SUFFIX=$2 |
| 31 | + # TMP |
| 32 | + ORIGINAL_FILENAME=$(make_original_filename) |
| 33 | + VARIANT_FILENAME_0=$(make_variant_filename $ORIGINAL_RESOLUTION $VARIANT_SUFFIX) |
| 34 | + echo "[${ORIGINAL_RESOLUTION}] convert $ORIGINAL_FILENAME $VARIANT_OPTIONS $VARIANT_FILENAME_0" |
| 35 | + convert $ORIGINAL_FILENAME $VARIANT_OPTIONS $VARIANT_FILENAME_0 |
| 36 | + for VARIANT_RESOLUTION_N in "${VARIANT_RESOLUTIONS[@]}" |
| 37 | + do |
| 38 | + VARIANT_FILENAME_N=$(make_variant_filename $VARIANT_RESOLUTION_N $VARIANT_SUFFIX) |
| 39 | + echo "[${VARIANT_RESOLUTION_N}] convert $VARIANT_FILENAME_0 -resize $VARIANT_RESOLUTION_N $VARIANT_FILENAME_N" |
| 40 | + convert $VARIANT_FILENAME_0 -resize $VARIANT_RESOLUTION_N $VARIANT_FILENAME_N |
| 41 | + done |
| 42 | +} |
| 43 | + |
| 44 | +make_variants "-define modulate:colorspace=HSL" "dark-back" |
| 45 | +make_variants "+contrast -modulate 50" "dark-back-low-contrast" |
| 46 | +make_variants "-contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -modulate 100" "dark-back-high-contrast" |
| 47 | +make_variants "-contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -modulate 200 -monochrome" "black-back-white-ink" |
| 48 | +make_variants "-contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -modulate 200 -monochrome -negate" "white-back-black-ink" |
| 49 | +make_variants "-channel RGB -negate -define modulate:colorspace=HSL -modulate 100,100,0" "light-back" |
| 50 | +make_variants "-channel RGB -negate -define modulate:colorspace=HSL -modulate 100,50,0" "light-back-low-contrast" |
| 51 | +make_variants "-channel RGB -negate -define modulate:colorspace=HSL -modulate 75,800,0 -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -contrast -define modulate:colorspace=RGB" "light-back-high-contrast" |
| 52 | +make_variants "+contrast +contrast -modulate 150" "grey-back" |
| 53 | +make_variants "+contrast +contrast -modulate 150 +contrast +contrast +contrast -modulate 50" "grey-back-low-contrast" |
| 54 | +make_variants "+contrast +contrast -modulate 150 -define modulate:colorspace=HSL -modulate 100,400,100" "grey-back-high-contrast" |
0 commit comments