fix: Fixed drawing right aligned text overlays in some case

This commit is contained in:
LWR 2022-12-18 01:56:53 +08:00
parent 52e43eb1bb
commit 84a53c1dcc

View File

@ -342,11 +342,9 @@ class PicGenerator:
texts: Union[str, List[str]],
colors: Optional[Union[Color, Tuple[int, int, int],
List[Union[Color, Tuple[int, int, int]]]]] = None,
xy_limit: Optional[Tuple[int, int]] = (0, 0),
xy: Optional[Tuple[int, int]] = None):
xy_limit: Optional[Tuple[int, int]] = (0, 0)):
"""
在当前绘图坐标绘制一行右对齐文本会自动移动绘图坐标保证不会覆盖指定的点会自动移动绘图坐标至下次绘图适合位置
也可手动传入绘图坐标手动传入时不会移动绘图坐标
传入文本列表和颜色列表可将一行文本绘制为不同颜色文本列表和颜色列表需一一对应
颜色列表少于文本列表时将使用默认黑色 (0, 0, 0)颜色列表多于文本列表时将舍弃多余颜色
@ -355,10 +353,8 @@ class PicGenerator:
texts: 文本内容
colors: 字体颜色默认黑色 (0, 0, 0)
xy_limit: 指定不可被覆盖的点默认(0, 0)
xy: 绘图坐标默认自适应绘图坐标
"""
if xy is None:
xy = self.__xy
xy = self.__xy
x = self.width - self.__draw.textlength("".join(texts), self.__text_font) - margin_right
@ -367,7 +363,8 @@ class PicGenerator:
y = max(xy[1], xy_limit[1])
self.draw_text(texts, colors, (x, y))
self.move_pos(0, self.__text_font.size + self.__ROW_SPACE)
self.set_pos(xy[0], y + self.__text_font.size + self.__ROW_SPACE)
return self
def show(self):