pxedit/pxview

30 lines
585 B
Bash

#!/bin/bash
source ./.bash_colors > /dev/null
pxview()
{
path="$1"
bmpx="$(cat "$path")"
palette=($(echo "$bmpx" | sed '1!d'))
bmpx="$(echo "$bmpx" | sed '1d')"
line1="$(echo "$bmpx" | sed '1!d')"
width=$(( $(echo "$line1" | wc -m) - 1 ))
background="${palette[0]}"
#declare -p path palette bmpx width background
if [ $# > 1 ]; then
eval "$(for pal in "${@:2}";do printf 'palette%s ' "$pal";done)"
# declare -p palette
fi
echo "$bmpx" | while read row; do
echo "$row" | while IFS= read -rN1 px; do
# echo ch: '"'$px'"'
COL.square ${palette[$px]}
done
echo ${COL[0]}
done
}