在画布上绘制多个路径

时间:2011-06-22 01:23:21

标签: c# wpf canvas path drawing

我有一个Geometry对象列表,我想在我的WPF应用程序中绘制它们。这个几何图形列表没有配置为在给定视图中很好地缩放,所以我需要以某种方式缩放每个单独的对象,这可能导致问题或缩放容器,我认为可能更好。

我猜我可能想将几何对象添加到画布中,但我不确定。我不知道如何确定转换画布的正确方法,以便很好地显示其内容。

我只是在寻找有关如何向容器(可能是画布)添加几何的指导,并让容器自动转换为很好地显示其内容,而不管几何的原始大小。我已经知道如何将几何添加到路径中,但我不知道如何正确地缩放画布以便以精确缩放和居中的方式显示它:

path.Data = geometry[i];
canvas.Children.Add(path);

例如,假设我想使用基本的矩形地图按国家/地区绘制世界地图。假设这些国家以美国为中心,坐标以英里为单位,因此形状不切实际。如何将每个国家/地区添加到容器中,然后显示以国际日期线为中心的总世界地图?如果地图没有缩放和翻译,它只会渲染出一种纯色,因为地图会在堪萨斯州放大。

1 个答案:

答案 0 :(得分:0)

一个Viewbox将为你做缩放,它内部的画布作为路径的容器似乎也很好,但是画布需要设置为地图的实际大小,我认为它不是扩展到它的孩子。