c# - 在 WPF 中用数千行快速绘制 map

标签 c# wpf draw

我正在 WPF 中制作一个路线规划程序,我需要显示一张 map ,它是一个具有数万条边的图形对象。如果我还想与这张 map 进行交互(如缩放、移动、选择边缘),绘制这些线条的最佳选择是什么?我尝试过的所有选项都证明渲染性能非常慢。

最佳答案

您可以使用 Shape , 与这些对象交互特别简单,但如果你要处理成千上万的边缘,我建议使用 DrawingVisual类,一个可用于在屏幕上呈现矢量图形的可视对象,及其 RenderOpen 方法。我有一个 similar problem给你的,我已经使用 DrawingContext 提高了我的应用程序的性能画出我的边缘。

要缩放,您必须使用转换,特别是 ScaleTrasnform并将转换应用于您的面板或形状。

DrawingVisual 不提供事件处理,因此如果使用 Shape 可以使用事件与边交互,使用 DrawingVisual 则需要实现 Hit-Testing .

关于c# - 在 WPF 中用数千行快速绘制 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10172906/

相关文章:

c# - 在 WPF 中检测鼠标直接越过边框

c# - 从任务栏隐藏应用程序

wpf - 高级 XAML 动画效果。脉搏,行进的 Ant ,旋转。警报

java - 需要了解有关 N × N 正方形的更多信息(n = 用户输入)

java - 将位图加载到 Canvas 中并在其上绘制

c# - 我怎样才能最好地检查 A xor B 是否为空?

c# - 如何避免 SerializationException : Type is not resolved for member XXX when testing a component that uses the LogicalCallContext

ios - 在Cocos2d中画一条线

c# - 创建 RunSpace 时如何使用 PowerShell 2 或 3?

c# - 第二个过程后不要清除 textBox.Text