waag/main.py

53 lines
1.6 KiB
Python
Raw Normal View History

2021-01-14 21:05:44 +01:00
#!/usr/bin/env python3
from __future__ import print_function
from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
2021-01-14 22:27:19 +01:00
from wand.display import display
2021-01-14 21:05:44 +01:00
def main():
colors = ['red', 'green', 'blue', 'yellow']
special_cards = ['W', 'N']
for color in colors:
2021-01-14 22:27:19 +01:00
for i in range(1, 4):
draw_card_face(color, i)
2021-01-14 21:05:44 +01:00
for sign in special_cards:
2021-01-14 22:27:19 +01:00
draw_card_face('white', sign)
2021-01-14 21:05:44 +01:00
2021-01-14 22:27:19 +01:00
def draw_card_face(color, symbol):
2021-01-14 21:05:44 +01:00
with Image(filename='assets/wozard-card.png') as img:
img = draw_symbol(img, symbol, color, 90, 130)
img = draw_symbol(img, symbol, color, int(img.width - 90), 130)
2021-01-14 22:27:19 +01:00
img.flip() # Make mirrored text
2021-01-14 21:05:44 +01:00
img = draw_symbol(img, symbol, color, 90, 130)
img = draw_symbol(img, symbol, color, int(img.width - 100), 130)
2021-01-14 22:27:19 +01:00
img = draw_rune(img, color)
save_img(img, color, symbol)
2021-01-14 21:05:44 +01:00
def draw_symbol(img, symbol, color, x, y):
with Drawing() as draw:
draw.font = 'wandtests/assets/League_Gothic.otf'
draw.font_size = 100
draw.text_alignment = 'center'
draw.fill_color=Color(color)
draw.text(x, y, str(symbol))
draw(img)
2021-01-14 22:27:19 +01:00
return img
2021-01-14 21:05:44 +01:00
2021-01-14 22:27:19 +01:00
def draw_rune(img, color):
with Image(filename='assets/{}.png'.format(color)) as rune:
rune.resize(110,122)
img.composite(
rune,
left=int((img.width - rune.width) / 2),
top=int((img.height - rune.height) / 2))
2021-01-14 21:05:44 +01:00
return img
def save_img(img, color, symbol):
img.save(filename='output/card-{}-{}.png'.format(color, symbol))
2021-01-14 21:05:44 +01:00
main()