delphi - 设置 Canvas.LineTo 的线端样式

标签 delphi winapi gdi tcanvas

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

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

 ********........******
**********........******
**********........******
 ********........******

(其中 * 代表蓝色,. 代表黄色)

如果外面的两条线画在中间线之后就更糟糕了:

 ********........******
**********......********
**********......********
 ********........******

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

 ********........******
 ********........******
 ********........******
 ********........******

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

最佳答案

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

关于delphi - 设置 Canvas.LineTo 的线端样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/368432/

相关文章:

windows - 如何在用户不活动一段时间后锁定应用程序?

C++ Win32 API GetMessage 来自独立线程中的 Awesomium

c++ - 改进WM_PAINT和WM_CTLCOLORSTATIC处理程序的代码

delphi - 自动调整 TCheckBox 的大小(如 TLabel)

ios - 仅使用 Windows 对 IPA 文件进行代码签名

Delphi CompilerVersion指令问题

c - GDI 泄漏问题

multithreading - 如何进行 Mutlithreded idhttp 调用以在 StringList 上工作

c++ - 结合 blits 和 gdi 绘图(不工作,闪烁)

c++ 使用自定义游标 gdi