求C#+AE放大镜(虫眼图)功能代码

我只在网上找到了一段关于VB语言的代码,可是我用C#实现,代码却找不到,希望大家帮帮忙啊!1.2.12.如何创建放大镜(虫眼)本例要实现的是如何创建放大镜(虫眼),将所选... 我只在网上找到了一段关于VB语言的代码,可是我用C#实现,代码却找不到,希望大家帮帮忙啊!
1.2.12. 如何创建放大镜(虫眼)
本例要实现的是如何创建放大镜(虫眼),将所选区域放大一定的倍数。
 要点
用户通过定义IMapInset、IMapInsetWindow、IDataWindowFactory三个接口,运用它们的方法、属性来创建放大镜(虫眼)。
 程序说明
运用这个子程序生成了一个新的放大镜窗口,在本例中将放大率设定为200%代替原来的400%。Public Sub CreateMagnifierWindow()

Dim pMapInset As IMapInset

Dim pMapInsetWindow As IMapInsetWindow

Dim pDataWindowFactory As IDataWindowFactory

Set pDataWindowFactory = New MapInsetWindowFactory

If pDataWindowFactory.CanCreate(Application) Then

Set pMapInsetWindow = pDataWindowFactory.Create(Application)

Set pMapInset = pMapInsetWindow.MapInset

'Set the zoom percent to 200%

pMapInset.ZoomPercent = 200

pMapInsetWindow.Show True

End If

End Sub
如果我没说错,你给我的仅仅是鹰眼图的代码,我会写这段代码。我要的是能够放大的代码,呵呵
展开
 我来答
肖协文
2010-09-18 · TA获得超过182个赞
知道小有建树答主
回答量:61
采纳率:0%
帮助的人:98.9万
展开全部
这个比较简单,使用两个MapControl,在MapControl1中加载的地图赋值给MapControl2(赋值也可以理解为复制)。然后对矩形框内的地物放大两倍即可。
代码网上好多。你去ESRI中国社区找找。很多人二次开发采用AE+C#。
/* 实现功能
* 1、鹰眼控件会根据主控件的视图范围生成一个来导航
* 2、在鹰眼控件里点击左键移动,红色距形框会跟着鼠标移动,主控件的视图范围会根据红色距形框位置而做出相应的移动
* 3、在鹰眼控件中可以通过按住鼠标右键来拖动,生成一个新的红色距形框,来导航
private void axMapControl2_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)
{
// 得到新范围
IEnvelope pEnv = (IEnvelope)e.newEnvelope;
IGraphicsContainer pGra = axMapControl2.Map as IGraphicsContainer;
IActiveView pAv = pGra as IActiveView;
//在绘制前,清除鹰眼axMapControl1中的任何图形元素
pGra.DeleteAllElements();
IRectangleElement pRectangleEle = new RectangleElementClass();
IElement pEle = pRectangleEle as IElement;
pEle.Geometry = pEnv;
//设置鹰眼图中的红线框
IRgbColor pColor = new RgbColorClass();
pColor.Red = 255;
pColor.Green = 0;
pColor.Blue = 0;
pColor.Transparency = 255;
//产生一个线符号对象
ILineSymbol pOutline = new SimpleLineSymbolClass();
pOutline.Width = 2;
pOutline.Color = pColor;
//设置颜色属性
pColor = new RgbColorClass();
pColor.Red = 255;
pColor.Green = 0;
pColor.Blue = 0;
pColor.Transparency = 0;
//设置填充符号的属性
IFillSymbol pFillSymbol = new SimpleFillSymbolClass();
pFillSymbol.Color = pColor;
pFillSymbol.Outline = pOutline;
IFillShapeElement pFillShapeEle = pEle as IFillShapeElement;
pFillShapeEle.Symbol = pFillSymbol;
pGra.AddElement((IElement)pFillShapeEle, 0);
//刷新
pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}

private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
{
if (e.button == 1)
{
IPoint pPt = new PointClass();
pPt.X = e.mapX;
pPt.Y = e.mapY;
//
IEnvelope pEnvelope = this.axMapControl2.Extent as IEnvelope;
pEnvelope.CenterAt(pPt);
this.axMapControl2.Extent = pEnvelope;
}
}
private void axMapControl2_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)
{
//加载地图文档到MapControl中
axMapControl2.LoadMxFile(axMapControl1.DocumentFilename, null, null);
//设置MapControl显示范围至数据的全局范围
axMapControl2.Extent = axMapControl2.FullExtent;
}
博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生... 点击进入详情页
本回答由博思aippt提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式