【发布时间】:2016-07-04 22:15:37
【问题描述】:
根据我对 AI 的兴趣,我目前正在开发 WPF 应用程序。 我写了一个统一成本搜索算法(寻路),并希望以图形方式呈现它。 应该找到路径并显示在可由用户调整的图表上。
我是 WPF 技术的新手,我更多地使用 WinForms,但现在在创建和管理图形元素方面遇到了问题。
换句话说 - 我想给机会点击数据网格并创建你自己的节点(地图上的某个地方),用图片表示,当你有几个节点时,你可以选择其中两个连接它们以建立连接,最后您可以选择起点和终点,算法将显示最短路径(为合适的连接着色)。
就是这样。
我首先添加了一个 CreateNode 方法,该方法获取点击的坐标并使用右 X 和 Y 创建一个点。现在在该特定位置创建图像时出现问题。
我在 Stack 上阅读了一些问题,并尝试使用 Image 和 BitmapImge 类编写一些东西,但仍然不知道如何将其放置在特定位置。 我阅读了有关操纵边距的信息,但没有更简单的解决方案吗?
这是该图像加载代码的一部分:
public void CreateNode(Node n)
{
Point point = new Point(n.X, n.Y);
Image node = new Image();
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("point.png");
logo.CacheOption = BitmapCacheOption.OnLoad;
logo.EndInit();
node.Source = logo;
}
如果有人对如何在图形的情况下创建这些方法有任何想法,我会非常感激。
提前致谢
帕维尔
编辑:据说我要为我的代码问题创建新主题,所以这里是 here
【问题讨论】:
-
有了定位,我建议看this video on advanced XAML techniques。他使用自定义的
ItemsControl和Canvas来绑定送货卡车的经度和纬度,以在地图上显示为图形。我认为他的一些技巧可以在你的情况下工作(或给你更多的想法)。我已链接到相关部分开头的时间戳。 -
请参阅 this answer 并在 DataTemplate 中将
<Rectangle .../>替换为<Image Source="point.png"/>。 -
谢谢你们,我会尝试用 ItemsControl 和 Canvas 写一些东西。我不确定我是否有足够的知识,所以如果你能回答这个问题,以防我失败,那就太好了。
-
对于您遇到的问题发布新问题可能会更好。只需确保在新问题中包含MCVE。更多人会看到它,并可能对新问题有答案,How to Ask a question which is a continuation 中列出了其他一些原因。
标签: c# wpf graphics artificial-intelligence path-finding