如何用ArcEngine画箭头,求具体C#代码

例如我知道箭头方向从(0,0)到(1,-1),怎样在MapControl中显示出来?此外箭头样式如何定义?... 例如我知道箭头方向从(0,0)到(1,-1),怎样在MapControl中显示出来?
此外箭头样式如何定义?
展开
 我来答
白衣飘飘的年华
2015-01-25 · TA获得超过193个赞
知道小有建树答主
回答量:138
采纳率:100%
帮助的人:125万
展开全部
不知道你是要画线还是画点,如果是画点的话:
//定义点
IPoint pPoint = new PointClass();
pPoint.PutCoords(X,Y);
//定义渲染点的符号,这里用字符渲染(也就是找一个箭头符号来渲染)
ICharacterMarkerSymbol pCharacterMarkerSymbol = new CharacterMarkerSymbolClass();
//定义字符的字体
IFontDisp pFontDisp = new StdFontClass() as IFontDisp;
pFontDisp.Name = "";//这里的字体选择,你可以在Windows系统工具里打开“字符映射表”,然后选择一种ESRI的字体,有很多,只要找一个有箭头符号的字体就行,对了还要记住箭头符号的索引,索引就是你点中箭头符号后,字符映射表左下角显示的类似“U+002:”(其中002就是索引)的东西,不过这是十六进制的,你需要把它转成10进制的索引,后面会用到)
pCharacterMarkerSymbol.Font = pFontDisp;
pCharacterMarkerSymbol.CharacterIndex = ;//这里就是上面说到的箭头符号在字体中的索引
pCharacterMarkerSymbol.Color = ;
pCharacterMarkerSymbol.Size = ;
pCharacterMarkerSymbol .Angle = ;//这里定义字符的旋转角度,以实现箭头的方向(角度的大小要看字符箭头本来的方向)
//定义点元素,最终加到mapcontrol的就是这些元素
IMarkerElement pMarkerElement = new MarkerElementClass();
pMarkerElement.Symbol = pCharacterMarkerSymbol;
IElement pElement = pMarkerElement as IElement;
pElement.Geometry = pPoint;
//定义画图的容器
IGraphicsContainer pGraphicsContainer = axMapControl1.Map as IGraphicsContainer;
IActiveView pActiveView = pGraphicsContainer as IActiveView;
//将元素添加到容器
pGraphicsContainer.AddElement(pElement, 0);
//刷新
pActiveView.Refresh();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式