sprite sheet
This commit is contained in:
parent
7f928ac8be
commit
d03b9e5c6d
@ -10,6 +10,34 @@ import inkyphat
|
||||
|
||||
FAKE = True
|
||||
|
||||
text = Image.open("numbers.png")
|
||||
text_mask = inkyphat.create_mask(text, [inkyphat.WHITE])
|
||||
|
||||
def print_digit(position, digit):
|
||||
"""Print a single digit using the sprite sheet.
|
||||
Each number is grabbed from the masked sprite sheet,
|
||||
and then used as a mask to paste the desired color
|
||||
onto Inky pHATs image buffer.
|
||||
"""
|
||||
o_x, o_y = position
|
||||
|
||||
num_margin = 2
|
||||
num_width = 6
|
||||
num_height = 7
|
||||
|
||||
s_x = num_margin + (digit * (num_width + num_margin))
|
||||
|
||||
sprite = text_mask.crop((s_x, 0, s_x + num_width, num_height))
|
||||
|
||||
inkyphat.paste(inkyphat.WHITE, (o_x, o_y), sprite)
|
||||
|
||||
def print_number(position, number):
|
||||
"""Prints a number using the sprite sheet."""
|
||||
|
||||
for digit in str(number):
|
||||
print_digit(position, int(digit))
|
||||
position = (position[0] + 8, position[1])
|
||||
|
||||
def main():
|
||||
pages = {'2014': 7375, '2015': 23508, '2016': 17696, '2017': 19706, '2018': 9388}
|
||||
books = {"2018":33,"2017":64,"2016":47,"2015":75,"2014":19}
|
||||
@ -89,8 +117,7 @@ def draw_row(row, stats, size):
|
||||
for year in stats:
|
||||
count = year[row][0]
|
||||
x,y = year[row][1]
|
||||
w, h = font.getsize(count)
|
||||
inkyphat.text((x, y), count, inkyphat.WHITE, font)
|
||||
print_number((x,y), count)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
BIN
numbers.png
Normal file
BIN
numbers.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
Loading…
Reference in New Issue
Block a user