diff --git a/yagicard/__init__.py b/yagicard/__init__.py index e04031a..6f95f0a 100755 --- a/yagicard/__init__.py +++ b/yagicard/__init__.py @@ -45,11 +45,12 @@ class Images (): self.images[key] = value class SymbolDrawer (): - def __init__ (self, size, direction="ltr"): + def __init__ (self, size, direction="ltr", anchor="la"): self.direction = direction self.symbols = [] self.symbol_pos = (0, 0) self.size = (0, 0) + self.anchor = anchor def add_symbol (self, symbol): if isinstance(symbol, str): @@ -67,6 +68,17 @@ class SymbolDrawer (): image = Image.new("RGBA", self.size) for symbol in self.symbols: image.paste(symbol[0], symbol[1]) + + if self.anchor[0] == "m": + dest = (dest[0] - int(self.size[0] / 2), dest[1]) + elif self.anchor[0] == "r": + dest = (dest[0] - self.size[0], dest[1]) + + if self.anchor[1] == "m": + dest = (dest[0], dest[1] - int(self.size[1] / 2)) + elif self.anchor[1] == "b": + dest = (dest[0], dest[1] - self.size[1]) + target_image.alpha_composite(image, dest) images = Images(IMAGES_DIRECTORY)