【发布时间】:2021-05-08 09:38:22
【问题描述】:
我很抱歉标题,它可能无法正确描述我想要实现的目标。我开始开发一个新软件,它应该向用户呈现一个“网格”,他可以在这个“网格”的任何点添加“行”或“列”来操作。问题是我不确定真正的网格是合适的解决方案,因为有一些“图形”要求,例如更改单个单元格大小、嵌套它们、缩放/拉伸等。所以我开始分析 WPF 中的解决方案使用 DrawingVisual 元素(出于性能原因)。 我能够以所需的方式绘制“网格”。我还可以在绘图的边缘添加行或列。但我想不出任何解决方案来在“中间”修改它(除了重绘整个东西)。我会用一张图片更好地解释我。左边是第一次绘制后的“网格”。右边有一个新的网格,应该在用户执行操作后绘制。
下面是一个更复杂的示例,其中“行”被添加到现有单元格中,导致所有单元格“增长”。
正如我所说,我知道我可以重绘整个东西,但我担心性能。请记住,在真实场景中可能有数千个块和许多嵌套级别。
感谢任何建议。 WPF 的使用不是强制性的,但它将是 .NET 5.0 中的桌面应用程序。 DrawingVisual 的使用也不是强制性的。我可以评估任何解决方案。谢谢。
【问题讨论】:
标签: image-processing draw image-manipulation