aboutsummaryrefslogtreecommitdiff
path: root/image.sh
diff options
context:
space:
mode:
Diffstat (limited to 'image.sh')
-rwxr-xr-ximage.sh25
1 files changed, 18 insertions, 7 deletions
diff --git a/image.sh b/image.sh
index 6a82ee6..69da148 100755
--- a/image.sh
+++ b/image.sh
@@ -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