Esempio n. 1
0
def create_card(card_data, settings):
	margin = cm_to_pixels(settings['margin'])
	spacing = cm_to_pixels(settings['spacing'])
	
	(card_width_cm, card_height_cm) = settings['card_size']
	(card_width_px, card_height_px) = (cm_to_pixels(card_width_cm), cm_to_pixels(card_height_cm))

	border_width_px = cm_to_pixels(settings['border_width']) # around each card
	border_color = settings['border_color']

	outline_width = settings['outline_width']
	outline_color = settings['outline_color']

	size_minus_border = (card_width_px - (border_width_px * 2), card_height_px - (border_width_px * 2))

	(width_minus_border, height_minus_border) = size_minus_border
	card = Image.new("RGB", size_minus_border, "white")
	#draw_bg(card, width_minus_border, height_minus_border)
	draw_illustration(card, card_data['pic'], 100, 500, width_minus_border, outline_width, outline_color)
	draw_title(card, card_data['name'], (20, 15))
	draw_body(card, card_data['body'], 730, width_minus_border, card_data['body_width'])
	draw_footer(card, 100, width_minus_border, height_minus_border)
	draw_corner_nr(card, card_data['speed'], (width_minus_border - 65, height_minus_border - 90))
	card_with_border = ImageOps.expand(card, border=border_width_px, fill=border_color)
	return card_with_border
Esempio n. 2
0
def create_page(card_set, settings, card_indexes):
    card_datas = card_set['cards']
    selected_card_datas = []

    margin = cm_to_pixels(settings['margin'])
    (card_width_cm, card_height_cm) = settings['card_size']
    (card_width_px, card_height_px) = (cm_to_pixels(card_width_cm),
                                       cm_to_pixels(card_height_cm))
    spacing = cm_to_pixels(settings['spacing'])

    i = 0
    for d in card_datas:
        if i in card_indexes:
            selected_card_datas.append(d)
        i += 1

    cards = []
    for data in selected_card_datas:
        card = create_card(data, settings)
        for x in range(data['count']):
            cards.append(card)

    page = Image.new("RGB", a4_size, "white")
    card_index = 0
    for y in xrange(margin, a4_height - card_height_px,
                    card_height_px + spacing):
        for x in xrange(margin, a4_width - card_width_px,
                        card_width_px + spacing):
            if card_index >= len(cards):
                break
            card = cards[card_index]
            card_index += 1
            page.paste(card, (x, y))
    return page
Esempio n. 3
0
def create_page(card_set, settings, card_indexes):
    card_datas = card_set["cards"]
    selected_card_datas = []

    margin = cm_to_pixels(settings["margin"])
    (card_width_cm, card_height_cm) = settings["card_size"]
    (card_width_px, card_height_px) = (cm_to_pixels(card_width_cm), cm_to_pixels(card_height_cm))
    spacing = cm_to_pixels(settings["spacing"])

    i = 0
    for d in card_datas:
        if i in card_indexes:
            selected_card_datas.append(d)
        i += 1

    cards = []
    for data in selected_card_datas:
        card = create_card(data, settings)
        for x in range(data["count"]):
            cards.append(card)

    page = Image.new("RGB", a4_size, "white")
    card_index = 0
    for y in xrange(margin, a4_height - card_height_px, card_height_px + spacing):
        for x in xrange(margin, a4_width - card_width_px, card_width_px + spacing):
            if card_index >= len(cards):
                break
            card = cards[card_index]
            card_index += 1
            page.paste(card, (x, y))
    return page
Esempio n. 4
0
def create_page(card_set, card_indexes):
	margin = cm_to_pixels(card_set['margin'])
	spacing = cm_to_pixels(card_set['spacing'])
	
	(card_width_cm, card_height_cm) = card_set['card_size']
	(card_width_px, card_height_px) = (cm_to_pixels(card_width_cm), cm_to_pixels(card_height_cm))

	border_width_px = cm_to_pixels(card_set['border_width']) # around each card
	border_color = card_set['border_color']

	outline_width = card_set['outline_width']
	outline_color = card_set['outline_color']

	size_minus_border = (card_width_px - (border_width_px * 2), card_height_px - (border_width_px * 2))

	card_datas = card_set['cards']
	selected_card_datas = []

	i = 0
	for d in card_datas:
		if i in card_indexes:
			selected_card_datas.append(d)
		i += 1

	cards = []
	for data in selected_card_datas:
		card = create_card(data, size_minus_border, border_width_px, border_color, outline_width, outline_color)
		for x in range(data['count']):
			cards.append(card)
	
	page = Image.new("RGB", a4_size, "white")
	card_index = 0
	for y in xrange(margin, a4_height - card_height_px, card_height_px + spacing):
		for x in xrange(margin, a4_width - card_width_px, card_width_px + spacing):
			if card_index >= len(cards):
				break
			card = cards[card_index]
			card_index += 1
			page.paste(card, (x, y))
	return page
Esempio n. 5
0
from PIL import Image
from card import create_card
from converters import cm_to_pixels

a4_size = (cm_to_pixels(21.0), cm_to_pixels(29.7))
(a4_width, a4_height) = a4_size

def create_page(card_set, card_indexes):
	margin = cm_to_pixels(card_set['margin'])
	spacing = cm_to_pixels(card_set['spacing'])
	
	(card_width_cm, card_height_cm) = card_set['card_size']
	(card_width_px, card_height_px) = (cm_to_pixels(card_width_cm), cm_to_pixels(card_height_cm))

	border_width_px = cm_to_pixels(card_set['border_width']) # around each card
	border_color = card_set['border_color']

	outline_width = card_set['outline_width']
	outline_color = card_set['outline_color']

	size_minus_border = (card_width_px - (border_width_px * 2), card_height_px - (border_width_px * 2))

	card_datas = card_set['cards']
	selected_card_datas = []

	i = 0
	for d in card_datas:
		if i in card_indexes:
			selected_card_datas.append(d)
		i += 1
Esempio n. 6
0
from PIL import Image
from card import create_card
from converters import cm_to_pixels

a4_size = (cm_to_pixels(21.0), cm_to_pixels(29.7))
(a4_width, a4_height) = a4_size


def create_page(card_set, settings, card_indexes):
    card_datas = card_set['cards']
    selected_card_datas = []

    margin = cm_to_pixels(settings['margin'])
    (card_width_cm, card_height_cm) = settings['card_size']
    (card_width_px, card_height_px) = (cm_to_pixels(card_width_cm),
                                       cm_to_pixels(card_height_cm))
    spacing = cm_to_pixels(settings['spacing'])

    i = 0
    for d in card_datas:
        if i in card_indexes:
            selected_card_datas.append(d)
        i += 1

    cards = []
    for data in selected_card_datas:
        card = create_card(data, settings)
        for x in range(data['count']):
            cards.append(card)

    page = Image.new("RGB", a4_size, "white")