资源简介
ArcEngine中的ILegend和ILegendItem使用起来总觉得不让人满意,特别是AdjustColumns和Item。因此把PageLayout的图例想象成很多Element的组合,基于IElement重新实现了图例类。图例类的类图可以参考附件中的图例绘制.bmp。
另外,附件中有示例程序,示例mxd,还有源码。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ESRI.ArcGIS.Geometry;
using System.Collections;
namespace ComDll.Legend
{
///
/// 负责给图例里的所有元素进行布局
///
public class ComLayout
{
private static double m_PatchWidth = 1.6953 / 2;
private static double m_PatchHeight = 1.6953 / 2;
private static double m_SpaceInStandardItem = 0.2743 / 2;
private static double m_InnerSpaceX = 0.6513; //0.6513 / 2;
private static double m_InnerSpaceY = 0.2948 / 2;
private static double m_frameSpaceX = 0.6677 / 2;
private static double m_frameSpaceY = 0.7234 / 2;
private double[] m_ColsWidth;
///
/// 图例的边界
///
private IEnvelope m_frame;
public IEnvelope m_frame
{
get { return m_frame; }
set { m_frame = value; }
}
///
/// 标题位置
///
private IEnvelope m_title;
public IEnvelope m_title
{
get { return m_title; }
set { m_title = value; }
}
///
/// 标题高度
///
private double m_titleHeight;
public double m_titleHeight
{
get { return m_titleHeight; }
set { m_titleHeight = value; }
}
///
/// 行数不可设置
///
private int m_rowCount;
public int m_RowCount
{
get { return m_rowCount; }
}
private int m_colCount;
public int m_ColCount
{
get { return m_colCount; }
set { m_colCount = value; }
}
private ArrayList m_envelopes;
public ArrayList m_Envelopes
{
get { return m_envelopes; }
set { m_envelopes = value; }
}
///
/// 所有图例的宽,只有宽度是不确定的(文字字数影响)
///
private ArrayList m_widths;
public ArrayList m_Widths
{
get { return m_widths; }
set { m_widths = value; }
}
private double m_originX = 1.0; //左下角
private double m_originY = 1.0;
public ComLayout(ArrayList envelopes)
{
m_colCount = 1;
m_titleHeight = 0.835;
m_envelopes = new ArrayList();
for (int i = 0; i < envelopes.Count; i++)
{
m_envelopes.Add(envelopes[i]);
}
m_widths = new ArrayList();
for (int i = 0; i < m_envelopes.Count; i++)
{
m_widths.Add((m_envelopes[i] as StandardLegendItem).m_Envelope.Width);
}
}
private double CalcOffsetX(int index double[] d)
{
double offsetx = m_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16896 2011-11-28 11:22 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\ComBasic.dll
文件 160256 2011-11-28 11:22 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\ComMap.dll
文件 54272 2011-11-28 17:36 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\CustomLegendClassByGxp.dll
文件 159232 2011-11-28 17:36 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\CustomLegendClassByGxp.pdb
....... 3350528 2011-05-04 09:52 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\DevComponents.DotNetBar2.dll
文件 385536 2011-11-28 11:22 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\MarkerLib.dll
文件 1276720 2007-10-10 09:49 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\Microsoft.Office.Interop.Excel.dll
文件 64288 2007-10-10 09:49 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\Microsoft.Vbe.Interop.dll
文件 282624 2009-09-08 02:17 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\NLog.dll
文件 416544 2007-10-10 09:49 TestCustomLegendDll\CustomLegendClassByGxp\bin\Debug\office.dll
文件 6760 2011-11-28 17:14 TestCustomLegendDll\CustomLegendClassByGxp\CustomLegendClassByGxp.csproj
文件 11444 2011-11-25 16:23 TestCustomLegendDll\CustomLegendClassByGxp\Legend\ComLayout.cs
文件 5897 2011-11-25 17:34 TestCustomLegendDll\CustomLegendClassByGxp\Legend\ComLegend.cs
文件 12792 2011-11-24 08:57 TestCustomLegendDll\CustomLegendClassByGxp\Legend\CustomComLegendItem.cs
文件 2375 2011-11-24 16:45 TestCustomLegendDll\CustomLegendClassByGxp\Legend\fr
文件 2837 2011-11-24 14:06 TestCustomLegendDll\CustomLegendClassByGxp\Legend\GridLineItem.cs
文件 5710 2011-11-28 17:36 TestCustomLegendDll\CustomLegendClassByGxp\Legend\LegendPump.cs
文件 6503 2011-11-25 17:34 TestCustomLegendDll\CustomLegendClassByGxp\Legend\PageLayoutLegend.cs
文件 1922 2011-11-24 17:32 TestCustomLegendDll\CustomLegendClassByGxp\Legend\PageLayoutLegendItem.cs
文件 16513 2011-11-24 17:40 TestCustomLegendDll\CustomLegendClassByGxp\Legend\StandardLegendItem.cs
文件 3470 2011-11-24 16:34 TestCustomLegendDll\CustomLegendClassByGxp\Legend\ti
文件 12748 2011-11-28 17:31 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\CustomLegendFrm.cs
文件 4676 2011-11-24 16:59 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\CustomLegendFrm.Designer.cs
文件 5814 2011-11-24 16:59 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\CustomLegendFrm.resx
文件 5401 2011-11-28 17:14 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\LegendSelectUI.cs
文件 6226 2011-11-24 16:59 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\LegendSelectUI.Designer.cs
文件 5814 2011-11-24 16:59 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\LegendSelectUI.resx
文件 10090 2011-11-25 09:55 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\Legendst
文件 23105 2011-11-25 09:54 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\Legendst
文件 7272 2011-11-25 09:54 TestCustomLegendDll\CustomLegendClassByGxp\Legend\UI\Legendst
............此处省略71个文件信息
- 上一篇:仿天猫APP前端
- 下一篇:SiC8051F_uVision4
相关资源
- Arcengine二次开发教程
- arcengine实现点选,圆选,框选,多边
- ArcEngine教程
- ArcEngine测量地图上两点距离
- ArcEngine空间查询统计
- ArcEngine实现矢量要素编辑功能
-
林业图例new.st
yle - cad植物图例
- ARCGIS二次开发课程设计
- 煤炭地质勘查图例图式
- ArcGIS Engine/VS开发程序 空间分析程序系
- ArcEngine10.2接口关系图
- ArcGIS_BackgroundGP_for_Desktop_101sp1
- ArcGIS Engine从入门到精通邱洪刚
- ArcEngine入门到精通 源代码
- EMF+GEF+VE
- 外商必修图表力+-150张图例即学即用,
- 访问ArcGIS server服务的ArcEngine网络分析
- 安防系统CAD图例弱电系统CAD图例
- ArcEngine重分类
- uml的办公室租赁系统图例
- ArcEngine网络分析服务含方向导航
- ArcEngine在.NET环境下打包安装
- ArcEngine 瓦片切图工具
- ArcEngine10.0三维开发
- 专题图制作的源代码,包括指北针,
- arcengine10.4安装.txt
- ArcEngine栅格数据渲染
- Demo:ArcEngine简单教程——要素的属性查
- arcengine内存图层创建(全)
评论
共有 条评论