diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/upscaler/.gitignore | 1 | ||||
-rwxr-xr-x | test/upscaler/bitmap-ball.py | 28 | ||||
-rw-r--r-- | test/upscaler/img.png | bin | 0 -> 2481 bytes | |||
-rw-r--r-- | test/upscaler/makefile | 2 |
4 files changed, 31 insertions, 0 deletions
diff --git a/test/upscaler/.gitignore b/test/upscaler/.gitignore new file mode 100644 index 0000000..5c9a6b6 --- /dev/null +++ b/test/upscaler/.gitignore @@ -0,0 +1 @@ +*.coe diff --git a/test/upscaler/bitmap-ball.py b/test/upscaler/bitmap-ball.py new file mode 100755 index 0000000..85474f1 --- /dev/null +++ b/test/upscaler/bitmap-ball.py @@ -0,0 +1,28 @@ +#!/bin/python3 + +from PIL import Image +import sys + +# return array of 12-bit color values (0bRRRGGGBBB) +def pixeldata(): + image = Image.open(sys.argv[-1]) # use last argument as input image file + pixels = image.load() + pixarr = [] + w,h = image.size + for x in range(w): + for y in range(h): + color = pixels[x, y] + crushed_color = ((color[0] >> 4) << 8 | (color[1] >> 4) << 4 | (color[2] >> 4) << 0) + pixarr.append(crushed_color) + return pixarr + +if __name__ == "__main__": + # get array of 12-bit pixels + pixels = pixeldata() + # coe file header + print("memory_initialization_radix=16;\nmemory_initialization_vector=", end='') + # format pixel value as 12-bit hexadecimal with padding seperated by comma and space + formatted_pixels = ','.join([f"{hex(c)[2:].zfill(3)}" for c in pixels]) + print(f"{formatted_pixels};") + + diff --git a/test/upscaler/img.png b/test/upscaler/img.png Binary files differnew file mode 100644 index 0000000..946d624 --- /dev/null +++ b/test/upscaler/img.png diff --git a/test/upscaler/makefile b/test/upscaler/makefile new file mode 100644 index 0000000..072d5b2 --- /dev/null +++ b/test/upscaler/makefile @@ -0,0 +1,2 @@ +img.coe: img.png + ./bitmap-ball.py $< > $@ |