我该如何绘制一个有两个圆角和对角线是矩形角的矩形?这个形状必须是闭合的,以便可以用画刷颜色填充。Polyline方法不会绘制曲线。我能否将弧的点添加到折线点中?我尝试使用Canvas方法绘制RoundRect,然后在下部圆角上重叠一个矩形,但是当仅绘制形状的边框而不填充它时,我无法弄清楚如何擦除矩形的上部线条。注意:如果您认为相关,我可以添加我使用的代码。
所需形状示例:
Delphi得到的示例:
所需形状示例:
![enter image description here](https://istack.dev59.com/3oh4R.webp)
![enter image description here](https://istack.dev59.com/K6sUh.webp)
TCanvas.LineTo()
和TCanvas.ArcTo()
/TCanvas.AngleArc()
调用来创建形状,然后再调用TCanvas.FloodFill()
来填充它。TCanvas.Rectangle()
重叠在TCanvas.RoundRect()
上,然后使用TCanvas.MoveTo()
/TCanvas.LineTo()
以相同的填充颜色绘制分隔线。TCanvas
绘图方法,而是直接使用Win32 API调用。使用CreateRoundRectRgn()
、CreateRectRgn()
和CombineRn()
创建一个具有所需形状的HRGN
,然后使用FillRgn()
和FrameRgn()
在TCanvas
上使用该HRGN
进行绘制。