Ejemplo n.º 1
0
 def __init__(self,
              text,
              fsize=23,
              color="#0099ff",
              shadow=False,
              skew=None,
              font='NotoSans-Bold'):
     utils.pil_check()
     from PIL import Image, ImageFont, ImageDraw
     self.text = text
     self.color = grapefruit.Color.NewFromHtml(color)
     self.font = ImageFont.truetype(resolve_font(font), fsize)
     skew = skew or 0
     size = tuple([n + 3 + skew for n in self.font.getsize(self.text)])
     self.img = Image.new("RGBA", size, (0, 0, 0, 0))
     cvs = ImageDraw.Draw(self.img)
     if shadow:
         cvs.text((2 + skew, 2),
                  self.text,
                  font=self.font,
                  fill=(150, 150, 150, 150))
     cvs.text((1 + skew, 1),
              self.text,
              font=self.font,
              fill=self.color.html)
     if skew:
         self.img = self.img.transform(
             size, Image.AFFINE,
             (1.0, 0.1 * skew, -1.0 * skew, 0.0, 1.0, 0.0))
     self.resize(None)
Ejemplo n.º 2
0
 def __init__(self, path, width=None):
     utils.pil_check()
     from PIL import Image as PillsPillsPills
     self.img = PillsPillsPills.open(path)
     # when reading pixels, gifs will return colors corresponding
     # to a palette if we don't do this :\
     self.img = self.img.convert("RGBA")
     self.resize(width)