小生 原文 ArcGIS engine中气泡标注的添加、修改!
你微微地笑着,不同我说什么话。而我觉得,为了这个,我已等待得久了。
ArcGIS engine中气泡标注 ,是我们在编辑图形中一个重要的工具,能提供注释功能,下面的介绍怎么来编程实现callout的添加,以及怎么去修改它们!
// 在Mapcontrol的mouseDown中添加下列内容,来添加气泡注释功能:callout.
private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
axMapControl1.CurrentTool = null; IPoint pPoint ;
pPoint = new PointClass();
pPoint.PutCoords(e.mapX, e.mapY); IFormattedTextSymbol pTextSymbol = new TextSymbolClass();
pTextSymbol.Background = CreateBalloonCallout(e.mapX, e.mapY) as ITextBackground;
pTextSymbol.Direction = esriTextDirection.esriTDAngle;
pTextSymbol.Angle = 15; ITextElement pTextElement = new TextElementClass();
pTextElement.Symbol = pTextSymbol as ITextSymbol; pTextElement.Text = "MaDeSheng";
IElement ptexte = pTextElement as IElement;
pPoint = new PointClass();
pPoint.PutCoords(e.mapX * 0.90, e.mapY *1.1);
ptexte.Geometry = pPoint as IGeometry; IMap pMap = axMapControl1.Map;
IGraphicsContainer pGraphicsContainer = pMap as IGraphicsContainer;
pGraphicsContainer.AddElement(pTextElement as IElement, 0);
this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
红颜色的部分是产生气泡背景,具体程序如下:
public IBalloonCallout CreateBalloonCallout(double x, double y)
{ IRgbColor pRgbClr = new RgbColorClass();
pRgbClr.Red = 225;
pRgbClr.Blue = 225;
pRgbClr.Green = 225;
ISimpleFillSymbol pSmplFill = new SimpleFillSymbolClass();
pSmplFill.Color = pRgbClr;
pSmplFill.Style = esriSimpleFillStyle.esriSFSSolid;
IBalloonCallout pBllnCallout = new BalloonCalloutClass();
//pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSRectangle;
pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSRoundedRectangle;
pBllnCallout.Symbol = pSmplFill; pBllnCallout.LeaderTolerance = 5;
IPoint pPoint = new ESRI.ArcGIS.Geometry.PointClass();
pPoint.X = x;
pPoint.Y = y;
pBllnCallout.AnchorPoint = pPoint;
return pBllnCallout;
}
private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e)
{
if(e.button ==1)
{
//标注的修改
if (((axMapControl1.CurrentTool) as ICommand).Name == "ControlToolsGraphicElement_SelectTool")//这一句的判断很牛B,我当时考虑了半天才搞出来。难点呀!toolbarControl中要加载esriControls.ControlsSelectTool工具
{
IPoint pPoint = new PointClass();
pPoint.PutCoords(e.mapX, e.mapY); IMap pMap = axMapControl1.Map;
IGraphicsContainer pGraphicsContainer = pMap as IGraphicsContainer;
IEnumElement pEnumElement = pGraphicsContainer.LocateElements(pPoint, 10);
if (pEnumElement != null)
{
IElement pElement = pEnumElement.Next();
if (pElement is ITextElement)
{ ITextElement ptextElement = pElement as ITextElement; labelEditCallout pLabelEditCallout = new labelEditCallout(ptextElement.Text, ptextElement.Symbol);
pLabelEditCallout.ShowDialog(); ptextElement.Text = pLabelEditCallout.inputText;
ptextElement.Symbol = pLabelEditCallout.textSymbol; pGraphicsContainer.DeleteElement(pElement);
pGraphicsContainer.AddElement(pElement,0);
//这两句可以用pGraphicsContainer.UpdataElement(pElement);来代替
this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
} }
} }
labelEditCallout是我自己弄的一个修改样式,其实很简单的一个页面,截图如下:
aaarticlea/png;base64,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" alt="" width="289" height="278" /> aaarticlea/png;base64,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" alt="" width="283" height="276" />
具体,代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Geometry;
namespace Edit
{
public partial class labelEditCallout : Form
{
public string inputText = "";
public ITextSymbol textSymbol;
private bool ModifFillColor = false;
public labelEditCallout(string s,ITextSymbol texSy)
{
inputText = s;
textSymbol = texSy;
InitializeComponent();
} private void labelEditCallout_Load(object sender, EventArgs e)
{ textBox1.Text = inputText;
comboBox1.Items.Add("矩形框");
comboBox1.Items.Add("圆角矩形");
//comboBox1.Items.Add("Oval");
comboBox1.SelectedIndex = 1; }
public IColor ConvertColorToIColor(Color color)
{ IColor pColor = new RgbColorClass(); pColor.RGB = color.B * 65536 + color.G * 256 + color.R; return pColor; }
private void button2_Click(object sender, EventArgs e)
{
IBalloonCallout textBack = (((IFormattedTextSymbol)textSymbol).Background) as IBalloonCallout;
IFillSymbol pOldFill = textBack.Symbol;
IPoint pPoint = textBack.AnchorPoint; ISimpleFillSymbol pSmplFill = new SimpleFillSymbolClass();
pSmplFill.Style = esriSimpleFillStyle.esriSFSSolid;
if (ModifFillColor)
{
pSmplFill.Color = ConvertColorToIColor(this.button1.BackColor);
}
else
pSmplFill.Color = pOldFill.Color; IBalloonCallout pBllnCallout = new BalloonCalloutClass();
switch (comboBox1.Text)
{
case"矩形框":
pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSRectangle;
break;
case"圆角矩形":
pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSRoundedRectangle;
break;
//case"Oval":
// pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSOval;
// break;
} pBllnCallout.Symbol = pSmplFill;
pBllnCallout.LeaderTolerance = 5;
pBllnCallout.AnchorPoint = pPoint; IFormattedTextSymbol pTextSymbol = new TextSymbolClass();
pTextSymbol.Direction = esriTextDirection.esriTDAngle;
pTextSymbol.Angle = 15;
pTextSymbol.Background = pBllnCallout as ITextBackground; textSymbol = pTextSymbol as ITextSymbol; inputText = textBox1.Text;
this.Close();
} //获取颜色
private void button1_Click(object sender, EventArgs e)
{
if (this.colorDialog.ShowDialog() == DialogResult.OK)
{
this.button1.BackColor = this.colorDialog.Color;
ModifFillColor = true;
} } private void button3_Click(object sender, EventArgs e)
{
this.Close();
} }
}