1
0
Fork 0
mirror of https://github.com/ldericher/fftcgtool synced 2025-01-15 15:02:59 +00:00
fftcgtool/fftcg/grid.py
2021-08-09 14:03:45 +02:00

33 lines
858 B
Python

from PIL import Image
class Grid(tuple[int, int]):
def __mul__(self, other):
other = Grid(other)
return Grid((self.x * other.x, self.y * other.y))
@property
def x(self):
return self[0]
@property
def y(self):
return self[1]
@property
def capacity(self):
# capacity of grid (reserve last space for card back)
return self.x * self.y - 1
def chunks(self, whole: list) -> list:
# while there are elements
while whole:
# get a chunk
yield whole[:self.capacity]
# remove that chunk
whole = whole[self.capacity:]
def paste(self, page: Image.Image, index: int, card: Image.Image) -> None:
w, h = card.size
position = (index % self.x) * w, (index // self.x) * h
page.paste(card, position)