为Canvas.LineTo设置lineend样式

Tho*_*ler 5 delphi winapi gdi tcanvas

有没有办法为TCanvas.LineTo方法设置lineends的样式?它似乎默认为圆形末端,当Pen.Width设置为较大的值(例如9)时,对于不同颜色的行中的几行看起来非常糟糕.

它看起来像这样(圆形末端):

 ********........******
**********........******
**********........******
 ********........******
Run Code Online (Sandbox Code Playgroud)

(其中*是例如蓝色,而.是黄色)

如果在中线之后绘制两条外线,情况会更糟:

 ********........******
**********......********
**********......********
 ********........******
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样(streight结束):

 ********........******
 ********........******
 ********........******
 ********........******
Run Code Online (Sandbox Code Playgroud)

Pen似乎没有为此提供任何设置,LineTo方法也没有.可能有我可以调用的Windows API函数吗?

Uli*_*rdt 4

也许ExtCreatePen有帮助.检查PS_ENDCAP_*PS_JOIN_*标志.