如何在Visual Studio中实现立方插值



我使用Visual Studio 2015 C#从网站教程中创建了polyline解决方案。https://msdn.microsoft.com/en-us/library/hh868034.aspx

XAML文件如下:

<Window x:Class="WPFTestApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF"
Width="1024" Height="768">
<Grid x:Name="LayoutRoot" Background="White">
    <m:Map x:Name="myMap" CredentialsProvider="Insert_Your_Bing_Maps_Key" Center="47.740,-122.125" ZoomLevel="11">
        <m:MapPolyline Stroke="Blue" StrokeThickness="5" 
             Locations="47.6424,-122.3219 47.8424,-122.1747 47.5814,-122.1747 47.67856,-122.130994" 
             Opacity="0.7"/>
    </m:Map>
</Grid>
</Window>

xaml.cs文件如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Maps.MapControl.WPF;
using Microsoft.Maps.MapControl.WPF.Design;

namespace WPFTestApplication
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

                MapPolyline polyline = new MapPolyline();
                polyline.Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Blue);
                polyline.StrokeThickness = 5;
                polyline.Opacity = 0.7;
               polygon.Locations = new LocationCollection() { 
    new Location(47.6424,-122.3219), 
    new Location(47.8424,-122.1747), 
    new Location(47.5814,-122.1747)
    };

                myMap.Children.Add(polyline);

        }

    }
}

输出显示如下:

经度,纬度点通过地图上的多线线连接。多线线是一条直线。

我想使用立方/样条插值连接经度,纬度点以形成光滑的曲线。是否可以在此代码中实现立方/样条插值?有内置功能吗?

谢谢。

如果要使用与wpf不同的东西,请参见drawcurves,以允许您绘制光滑的曲线。

如果您需要在样条上进行进一步计算或想要坚持使用Mappolyline的点数,则可以快速浏览Google,似乎会带来一些类似的项目。您首先必须自己计算样条,然后取适当的点并将其添加到多线对象(以获取所需的Smothness)您使用的类(mappolyline)更少用于绘制多边形,因此一系列通过直线连接的点(您正在体验到)。

最新更新