From 4944a93376bd36b1c6ac80840bc3172dbcbde6b2 Mon Sep 17 00:00:00 2001 From: hellflame Date: Thu, 22 Aug 2024 11:54:20 +0800 Subject: [PATCH] compat pillow >= 10.0.0 --- printer/painter.py | 12 ++++++++++-- requirements.txt | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/printer/painter.py b/printer/painter.py index 6241c1c..45d40bb 100644 --- a/printer/painter.py +++ b/printer/painter.py @@ -29,6 +29,13 @@ except: pass +get_text_size = getattr(ImageDraw.ImageDraw, 'textsize', None) +if not get_text_size: + # for pillow version >= 10.0.0 + def get_text_size(self, txt, font): + _, _, x, y = ImageDraw.ImageDraw.textbbox(self, (0, 0), txt, font) + return x, y + class ImageMap(object): def __init__(self): @@ -160,10 +167,11 @@ def text_drawer(text, fonts=None): font = initiate_true_type(fonts, 20) if not font: return None - text_size = draw.textsize(unicode(text), font=font) + txt = unicode(text) + text_size = get_text_size(draw, txt, font=font) im = im.resize(text_size) draw = ImageDraw.Draw(im) - draw.text((0, 0), unicode(text), font=font) + draw.text((0, 0), txt, font=font) return im diff --git a/requirements.txt b/requirements.txt index 5873a22..7e2fba5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -Pillow \ No newline at end of file +Pillow