diff options
Diffstat (limited to 'image.sh')
| -rwxr-xr-x | image.sh | 25 |
1 files changed, 18 insertions, 7 deletions
@@ -1,13 +1,24 @@ #!/usr/bin/env sh -DB=fun.db +set -eu -[ $# -lt 1 ] && echo "Fuck" && exit 1; +db() { sqlite3 -tabs -noheader "$DB" "$@"; } + +ppm() { + image_id="$1" + echo "P3" + db "SELECT width, height FROM images WHERE id='$image_id'" + echo "255" + db "SELECT r,g,b FROM pixels WHERE image_id='$image_id' ORDER BY y ASC, x ASC" +} + +save_png() { magick ppm:- "media/$1.png"; } -db() { sqlite3 -list -noheader "$DB" "$@"; } +display() { magick display ppm:-; } + +[ $# -lt 1 ] && echo "Fuck" && exit 1; image_id="$1" -echo "P3" -db "SELECT width, height FROM images WHERE id='$image_id'" | awk -F'|' '{ print $1 " " $2 }' -echo "255" -db "SELECT r,g,b FROM pixels WHERE image_id='$image_id' ORDER BY y ASC, x ASC" | tr '|' ' ' +DB="${2:-fun.db}" + +ppm "$image_id" | tee >(save_png "$image_id") | display |
