我只是在Windows的python中找不到绘制文本函数的不同选项。 我希望我正在绘制的文本位于屏幕的左下角,而不是顶部中心。 如果不能选择左下角,是否可以将底部居中?
win32gui.DrawText(hdc, windowText, -1, rect,
win32con.DT_CENTER | win32con.DT_VCENTER
)
是否有诸如
之类的选项win32con.DT_LEFT | win32con.DT_BOTTOM
?
在Microsoft或python文档上,我无法在线找到此代码段的任何相关信息。
答案 0 :(得分:1)
您可以在Microsoft网站上看到有关相应WinAPI功能的大量文档:
参数...
DT_BOTTOM
将文本对齐到矩形的底部。使用该值 仅带有
DT_SINGLELINE
值。
如上所述,DT_BOTTOM
仅在指定DT_SINGLELINE
时有效。因此,您需要:
win32con.DT_LEFT | win32con.DT_BOTTOM | win32con.DT_SINGLELINE
DT_CALCRECT
标志来计算要绘制的文本的高度。然后根据计算出的矩形的高度偏移矩形。示例:
textformat = win32con.DT_LEFT | win32con.DT_BOTTOM
calrect = win32gui.DrawText(hdc, text, -1, rect, textformat | win32con.DT_CALCRECT);
rect.top = rect.bottom - calcrect.bottom;
win32gui.DrawText(hDC, text, -1, rect, textformat)