aboutsummaryrefslogtreecommitdiff
path: root/image.sh
blob: 9cc7e19a5c8741daa2408df695900816111dbebd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env sh

set -eu

[ $# -lt 1 ] && echo "Fuck" && exit 1;
IMAGE_ID="$1"
DB="${2:-fun.db}"

db() { sqlite3 -tabs -noheader "$DB" "$@"; }

ppm() {
  local 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"; }

display() { magick display ppm:-; }

ppm "$IMAGE_ID" | tee >(save_png "$IMAGE_ID") | display