mirror of
https://github.com/GiggioG/thermal-printer.git
synced 2026-06-15 18:50:18 +00:00
begin documenting the project, README
This commit is contained in:
104
reverse_engineering/testGen.py
Normal file
104
reverse_engineering/testGen.py
Normal file
@@ -0,0 +1,104 @@
|
||||
from math import ceil
|
||||
import random
|
||||
from PIL import Image
|
||||
import zipfile
|
||||
import os
|
||||
|
||||
def getColor(value):
|
||||
return (value, value, value)
|
||||
|
||||
WIDTH = 384
|
||||
|
||||
def makeTestImage(testGen, name):
|
||||
rows = testGen()
|
||||
HEIGHT = len(rows)
|
||||
print("Test image " + name + " is " + str(WIDTH) + "x" + str(HEIGHT))
|
||||
img = Image.new("RGB", (WIDTH, HEIGHT))
|
||||
for i in range(HEIGHT):
|
||||
for j in range(WIDTH):
|
||||
img.putpixel((j, i), getColor(rows[i][j]))
|
||||
img.save("testImages/" + name + ".png")
|
||||
|
||||
def genTest1():
|
||||
rows = []
|
||||
i = 0
|
||||
while 2**i <= WIDTH:
|
||||
row = [255]
|
||||
power = 2**i
|
||||
for j in range(1, WIDTH):
|
||||
color = row[j-1]
|
||||
if j % power == 0:
|
||||
color = 255-color
|
||||
row.append(color)
|
||||
rows.append(row)
|
||||
i += 1
|
||||
return rows
|
||||
|
||||
def genTest2():
|
||||
rows = []
|
||||
i = 0
|
||||
while 2**i <= WIDTH:
|
||||
row = []
|
||||
power = 2**i
|
||||
for j in range(0, WIDTH):
|
||||
color = (j % power) * (255 // max(power-1, 1))
|
||||
row.append(color)
|
||||
rows.append(row)
|
||||
i += 1
|
||||
return rows
|
||||
|
||||
def genTest3():
|
||||
rows = []
|
||||
for _ in range(9):
|
||||
row = []
|
||||
for j in range(WIDTH):
|
||||
color = (j%2) * 255
|
||||
row.append(color)
|
||||
rows.append(row)
|
||||
return rows
|
||||
|
||||
def genTest4():
|
||||
blackRow = [0 for _ in range(WIDTH)]
|
||||
whiteRow = [255 for _ in range(WIDTH)]
|
||||
|
||||
rows = []
|
||||
for i in range(9):
|
||||
rows.append(blackRow if i % 2 == 0 else whiteRow)
|
||||
return rows
|
||||
|
||||
def genTest5():
|
||||
blackRow = [0 for _ in range(WIDTH)]
|
||||
whiteRow = [255 for _ in range(WIDTH)]
|
||||
|
||||
rows = []
|
||||
for i in range(9):
|
||||
rows.append(whiteRow if i % 2 == 0 else blackRow)
|
||||
return rows
|
||||
|
||||
def genTest6():
|
||||
rows = []
|
||||
for _ in range(9):
|
||||
row = []
|
||||
for _ in range(WIDTH):
|
||||
color = random.randint(0, 255)
|
||||
row.append(color)
|
||||
rows.append(row)
|
||||
return rows
|
||||
|
||||
tests = [
|
||||
(genTest1, "test1"),
|
||||
(genTest2, "test2"),
|
||||
(genTest3, "test3"),
|
||||
(genTest4, "test4"),
|
||||
(genTest5, "test5"),
|
||||
(genTest6, "test6")
|
||||
]
|
||||
|
||||
os.makedirs("testImages", exist_ok=True)
|
||||
|
||||
for testGen, name in tests:
|
||||
makeTestImage(testGen, name)
|
||||
|
||||
with zipfile.ZipFile("testImages/test_images.zip", "w") as zf:
|
||||
for _, name in tests:
|
||||
zf.write("testImages/" + name + ".png")
|
||||
Reference in New Issue
Block a user