- 在 WPF 中构建 CAD 程序:
我想构建一个 CAD 程序,一次将有 10000 个 LINE
对象。我正在使用 LineGeomery
类来绘制添加到 Canvas
的线条。我已经实现了缩放和平移,到目前为止性能非常好。
只有一个主要的失望:
线条的 粗细
在缩放时被缩放。我尝试将线条的 Bind
Thickness
属性设置为一个因子以保持它们不变,这有效但在缩放时会显着降低性能。在 MouseWheel
上清除和绘制具有新厚度的新线也是不可能的。这也降低了性能,并且在当前方法中不实用。
- 现在我有什么解决方案?
- 坚持目前的方法,忽略厚度的变化
- 在 GDI+ 中完成所有工作
- 在 WPF 中承载 GDI
- 使用 WPF Viewport3D(LineThickness 在那里不变吗?)
- 其他解决方案?
你会采取哪些其他途径。我是 WPF 和编程的新手,我渴望学习。
更新:
这就是我现在做的方式。我使用 Pen
和 Brushes 在可视层上绘制了 3000 条线。然后在 MouseWheel 事件上,我使用更新后的粗细重新绘制所有线条。此外,在用户缩放之前,我不会向用户显示其余的线,因此我在每个 MouseWheel 事件中只创建 10000 条线中的 3000 条。
最佳答案
除了使用 Line 对象,您还可以通过 Path 对象绘制线条。这是一个答案 https://stackoverflow.com/a/15323221/1305119
关于c# - 在 WPF 中构建 CAD 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22551841/