From 71f3b031d454fd92bb2992b056ea2245ec948fac Mon Sep 17 00:00:00 2001 From: HibiKier <775757368@qq.com> Date: Sat, 10 Aug 2024 17:56:49 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20=E4=BF=AE=E6=94=B9=E6=96=87?= =?UTF-8?q?=E5=AD=97getsize=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhenxun/utils/_build_image.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/zhenxun/utils/_build_image.py b/zhenxun/utils/_build_image.py index deeb3255..4138fae6 100644 --- a/zhenxun/utils/_build_image.py +++ b/zhenxun/utils/_build_image.py @@ -219,7 +219,13 @@ class BuildImage: _font = font if font and type(font) == str: _font = cls.load_font(font, font_size) - return _font.getsize(str(text)) # type: ignore + temp_image = Image.new("RGB", (1, 1), (255, 255, 255)) + draw = ImageDraw.Draw(temp_image) + text_box = draw.textbbox((0, 0), str(text), font=_font) # type: ignore + text_width = text_box[2] - text_box[0] + text_height = text_box[3] - text_box[1] + return text_width, text_height + 10 + # return _font.getsize(str(text)) # type: ignore def getsize(self, msg: str) -> Tuple[int, int]: """ @@ -231,7 +237,13 @@ class BuildImage: 返回: Tuple[int, int]: 长宽 """ - return self.font.getsize(msg) # type: ignore + temp_image = Image.new("RGB", (1, 1), (255, 255, 255)) + draw = ImageDraw.Draw(temp_image) + text_box = draw.textbbox((0, 0), str(msg), font=self.font) + text_width = text_box[2] - text_box[0] + text_height = text_box[3] - text_box[1] + return text_width, text_height + 10 + # return self.font.getsize(msg) # type: ignore def __center_xy( self, @@ -379,7 +391,7 @@ class BuildImage: else: font = self.font if center_type: - ttf_w, ttf_h = font.getsize(max_length_text) # type: ignore + ttf_w, ttf_h = self.getsize(max_length_text) # type: ignore ttf_h = ttf_h * len(sentence) pos = self.__center_xy(pos, ttf_w, ttf_h, center_type) self.draw.text(pos, text, fill=fill, font=font)