C++在Direct2D设备中绘制圆弧

C++ Drawing arcs in Direct2D Device

本文关键字:绘制 Direct2D C++      更新时间:2023-10-16

我需要在D2D设备中画一条弧,有函数可以做到这一点吗?(类似DrawLine或DrawEllipse)否则,我看到有一个ArcSegment函数返回D2D1_ARC_SEGMENT结构,我该怎么画呢?

在填充路径几何体(ID2D1PathGeometry)时可以使用D2D1_ARC_SEGMENT。将所需的圆弧添加到路径后,可以使用ID2D1RenderTarget::Draw/FillGeometry()绘制该圆弧。

我对Direct2D不太熟悉,所以我不知道有任何特定的函数可以让你做到这一点,但它不会阻止你实现自己的函数来实现你想要的。

我建议研究样条曲线以及它们是如何计算的wiki

这似乎是一个很好的开始。然后,您可以使用公式和几个DrawLine调用生成您的圆弧。

编辑:或者这可能会对你更好。