我目前正在用 C# 开发 Windows 窗体应用程序。在我的应用程序中,用户需要能够在特定区域上绘制线条、矩形和多边形等形状,然后他们还需要能够通过调整形状大小和移动点来编辑形状。因此,每当他们单击某个形状时,我都需要显示允许他们调整大小或移动形状等的手柄。 我目前正在做的是从头开始为每个形状创建自定义用户控件,然后将它们放置在继承自面板类的自定义控件上。然后,我跟踪所有鼠标向下和向上事件,将控件附加到鼠标指针或根据需要调整它们的大小。 问题是,编码所有这些需要很长时间,我想知道是否有一些库已经内置了所有绘图用户界面,以便我们可以实现它,而不必从头开始编码所有内容。 我一直在网上搜索它,但我发现的大部分内容都是像 SkiaSharp 这样用于重新渲染和绘制形状的库。我所寻找的远不止于此,我希望用户能够创建和编辑形状。
任何人都可以建议具有该功能的库,或者向我指出我应该搜索以便能够更有效地找到它的特定术语吗?首选开源和免费库,但任何信息都会有所帮助。预先感谢。
N形状:N形状
但它更多的是用于显示图表。但用户仍然可以编辑对象。所以你可以尝试定制它
我可以建议的是切换到 WPF。最好使用 DirectX 而不是 GDI。我曾经尝试过在 GDI 上编写一个分层绘图编辑器,真是太糟糕了。2D 和 3D 图形在 WPF 中都可以轻松使用