Make make_sheets output one-file-per-page by default.

This commit is contained in:
2025-07-13 21:21:34 -05:00
parent 787f27ffa7
commit 9aa5655eff

View File

@@ -311,7 +311,7 @@ def make_set (card_set, target_directory, default_frame, frames={}):
with open(os.path.join(target_directory, "index.html"), "w") as index_html:
index_html.write("\n".join(card_index))
def make_sheets (set_filename, scale_factor=(1, 1), card_size=None):
def make_sheets (set_filename, scale_factor=(1, 1), card_size=None, single_file=False):
if os.path.isfile(set_filename):
set_filename = os.path.splitext(set_filename)[0]
@@ -343,13 +343,21 @@ def make_sheets (set_filename, scale_factor=(1, 1), card_size=None):
cards = []
pages.append(cards)
sheet_size = (page_size[0], page_size[1] * len(pages))
sheet = Image.new("RGBA", sheet_size)
for i in range(0, len(pages)):
for card in pages[i]:
sheet.paste(card[0], (card[1][0], card[1][1] + (page_size[1] * i)))
if single_file:
sheet_size = (page_size[0], page_size[1] * len(pages))
sheet = Image.new("RGBA", sheet_size)
for i in range(0, len(pages)):
for card in pages[i]:
sheet.paste(card[0], (card[1][0], card[1][1] + (page_size[1] * i)))
sheet.save(f"{set_filename}.png")
sheet.save(f"{set_filename}.png")
else:
for i in range(0, len(pages)):
sheet = Image.new("RGBA", page_size)
for card in pages[i]:
sheet.paste(card[0], card[1])
sheet.save(f"{set_filename}_{i}.png")
def main():
yagicard_root = util.find_nearest(".", lambda name: name == YAGICARDFILE)