def __init__(self, _format, diagram, filename=None, **kwargs): self.format = _format.upper() self.diagram = diagram self.fill = kwargs.get('fill', (0, 0, 0)) self.badgeFill = kwargs.get('badgeFill', 'pink') self.filename = filename self.shadow = self.shadow_colors[self.format.upper()] if self.format == 'PNG' and kwargs.get('antialias'): self.scale_ratio = 2 else: self.scale_ratio = 1 self.drawer = imagedraw.create(self.format, self.filename, filters=['linejump'], scale_ratio=self.scale_ratio, **kwargs) self.metrics = self.create_metrics(kwargs.get('basediagram', diagram), drawer=self.drawer, fontmap=kwargs.get('fontmap')) if self.scale_ratio == 2: self.metrics = AutoScaler(self.metrics, scale_ratio=self.scale_ratio) self.drawer.set_canvas_size(self.pagesize()) self.drawer.set_options(jump_radius=self.metrics.cellsize / 2)