欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

【新手请问】arcgis engine+c# 怎么在地图control下添加picture

更新时间: 2014-01-05 02:58:25 责任编辑: Author_N1

 

【新手请教】arcgis engine+c# 如何在mapcontrol上添加picture
请教各位:
       如何将picture导入mapcontrol中?
--参考方法--
这需要使用到javascript api,以下是代码

var graphicCount = 0;

function drawGraphic(point)
{
   var symbol = new ESRI.ADF.Graphics.MarkerSymbol("images/图片.gif", 8, 8, "");
   var coords = point.toString("<br>", ","); 
   var attributes = { "ID": graphicCount, "featureCoordinates": coords };
   var graphicFeature = $create(ESRI.ADF.Graphics.GraphicFeature, { "id": graphicCount.toString(), "geometry": point, "symbol": symbol, "attributes": attributes});
   map.addGraphic(graphicFeature); 
   graphicCount++;
}

函数中的point参数在调用时传入,初始化方法如下:

//x和y分别表示当前的经纬度,可在mouseClick事件中设置
var ppp = new ESRI.ADF.Geometries.Point(x,y);  
drawGraphic(ppp);

--参考方法--

object missing =Type.Missing ;
IActiveView pActiveView = axMapControl1.ActiveView  as IActiveView ;

OpenFileDialog pOpenFileDialog = new OpenFileDialog ();
pOpenFileDialog.Filter ="jpg files (*.jpg)
--参考方法--
*.jpg
--参考方法--
bmp files (*.bmp)
--参考方法--
*.bmp";
pOpenFileDialog.RestoreDirectory=true;

if(pOpenFileDialog.ShowDialog ()==DialogResult.OK ){
 IElement pElement = GetPicture(pOpenFileDialog.FileName);
 IPictureElement pPictureElement;
  if( pElement is IPictureElement ){
    pPictureElement = pElement as IPictureElement ;
    pPictureElement.MaintainAspectRatio =false;
    pPictureElement.SavePictureInDocument =true;
  }

//图片的大小和显示位置可以通过修改pEnv的坐标来自己决定
IEnvelope pEnv = new EnvelopeClass ();
//pEnv.PutCoords(....)
pEnv = axMapControl1.ActiveView.Extent  ;

  pElement.Geometry =pEnv as IGeometry ;
  axMapControl1.ActiveView.GraphicsContainer.AddElement(pElement,0);
  axMapControl1.CtlRefresh(esriViewDrawPhase.esriViewBackground ,missing,missing);
}

private IElement GetPicture(string sPath)
{
 IRasterPicture pRasterPicture = new RasterPictureClass ();
 IOlePictureElement pOlePicture = new BmpPictureElementClass ();
 pOlePicture.ImportPicture (pRasterPicture.LoadPicture (sPath) as stdole .IPictureDisp );
 return pOlePicture as IElement ;
}

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:58:25
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/16811/
本文WWW.DOC100.NET DOC100.NET版权所有。