gpt4 book ai didi

Delphi绘制一个有两个圆角和直角的封闭矩形

转载 作者:行者123 更新时间:2023-12-03 15:54:10 25 4
gpt4 key购买 nike

如何绘制一个有两个圆角且对角是矩形角的矩形。该形状必须闭合,以便可以用画笔颜色填充。 Polyline 方法不绘制曲线。我可以将圆弧的点添加到折线点吗?我尝试使用 Canvas 方法绘制一个 RoundRect,然后在下圆角上重叠一个矩形,但是当只绘制形状的边框而不填充它时,我不知道如何删除矩形的上线。注意:如果您认为相关,我可以添加我使用的代码。

所需形状的示例:

enter image description here

我用 Delphi 得到的示例:

enter image description here

最佳答案

您不必在绘制形状的同时填充它。您可以首先使用一系列 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() 使用该 HRGN 在您的 TCanvas 上绘图。

关于Delphi绘制一个有两个圆角和直角的封闭矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com