Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
pil.py55 linesDownload Raw Back to image
1import qrcode.image.base2from qrcode.compat.pil import Image, ImageDraw3 4 5class PilImage(qrcode.image.base.BaseImage):6    """7    PIL image builder, default format is PNG.8    """9 10    kind = "PNG"11 12    def new_image(self, **kwargs):13        back_color = kwargs.get("back_color", "white")14        fill_color = kwargs.get("fill_color", "black")15 16        try:17            fill_color = fill_color.lower()18        except AttributeError:19            pass20 21        try:22            back_color = back_color.lower()23        except AttributeError:24            pass25 26        # L mode (1 mode) color = (r*299 + g*587 + b*114)//100027        if fill_color == "black" and back_color == "white":28            mode = "1"29            fill_color = 030            if back_color == "white":31                back_color = 25532        elif back_color == "transparent":33            mode = "RGBA"34            back_color = None35        else:36            mode = "RGB"37 38        img = Image.new(mode, (self.pixel_size, self.pixel_size), back_color)39        self.fill_color = fill_color40        self._idr = ImageDraw.Draw(img)41        return img42 43    def drawrect(self, row, col):44        box = self.pixel_box(row, col)45        self._idr.rectangle(box, fill=self.fill_color)46 47    def save(self, stream, format=None, **kwargs):48        kind = kwargs.pop("kind", self.kind)49        if format is None:50            format = kind51        self._img.save(stream, format=format, **kwargs)52 53    def __getattr__(self, name):54        return getattr(self._img, name)55 
codekingpro/portable-devtools · Team Ai