aboutsummaryrefslogtreecommitdiffstats
path: root/python/label.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/label.py')
-rw-r--r--python/label.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/python/label.py b/python/label.py
new file mode 100644
index 0000000..41618bb
--- /dev/null
+++ b/python/label.py
@@ -0,0 +1,26 @@
+from PIL import Image, ImageFont, ImageDraw
+
+class label:
+ def __init__(self, length, width=336, landscape=False):
+ assert(width == 336 or width == 720)
+ self.landscape = False
+ self.fontfile = '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf'
+
+ self.im = Image.new("1", (width, length), "white")
+ if self.landscape:
+ self.im.rotate(90)
+
+ def set_font(self, fontfile):
+ self.fontfile = fontfile
+
+ def set_fontsize(self, size):
+ self.font = ImageFont.truetype(self.fontfile, size)
+
+ def text(self, pos, text):
+ draw = ImageDraw.Draw(self.im)
+ draw.text(pos, text, font=self.font)
+
+ def save(self, outfile):
+ if self.landscape:
+ self.im.rotate(90)
+ self.im.save(outfile, "PNG")