在代码中使用了textsize()函数,这会在将来的Pillow 10版本中被弃用。为了避免未来可能出现的问题,建议将textsize()替换为新的函数textbbox()或textlength()。
具体优化建议如下:
将textsize()替换为textbbox()或textlength():这两个函数可以提供更准确的文本尺寸信息,并且不会在Pillow 10版本中被废弃。您可以修改以下两处代码:
将 lyric_w, lyric_h = ImageDraw.Draw(Image.new(mode='RGB', size=(1, 1))).textsize(lrc, font=lyric_font, spacing=self.line_space) 替换为 _, _, lyric_w, lyric_h = ImageDraw.Draw(Image.new(mode='RGB', size=(1, 1))).textbbox((0, 0), lrc, font=lyric_font)
将 sw, sh = draw.textsize(song_name, font=lyric_font) 替换为 _, _, sw, sh = draw.textbbox((0, 0), song_name, font=lyric_font)
通过使用textbbox()或textlength()函数,您可以避免DeprecationWarning并确保代码在将来的Pillow版本中仍然能够正常运行。
在代码中使用了textsize()函数,这会在将来的Pillow 10版本中被弃用。为了避免未来可能出现的问题,建议将textsize()替换为新的函数textbbox()或textlength()。
具体优化建议如下:
将textsize()替换为textbbox()或textlength():这两个函数可以提供更准确的文本尺寸信息,并且不会在Pillow 10版本中被废弃。您可以修改以下两处代码:
将 lyric_w, lyric_h = ImageDraw.Draw(Image.new(mode='RGB', size=(1, 1))).textsize(lrc, font=lyric_font, spacing=self.line_space) 替换为 _, _, lyric_w, lyric_h = ImageDraw.Draw(Image.new(mode='RGB', size=(1, 1))).textbbox((0, 0), lrc, font=lyric_font)
将 sw, sh = draw.textsize(song_name, font=lyric_font) 替换为 _, _, sw, sh = draw.textbbox((0, 0), song_name, font=lyric_font)
通过使用textbbox()或textlength()函数,您可以避免DeprecationWarning并确保代码在将来的Pillow版本中仍然能够正常运行。