ArcEngine简单教程——栅格、矢量图层的颜色渲染

ArcEngine简单教程汇总

目录

ArcEngine简单教程汇总

1 目的

2 概要

色带:

栅格渲染:

矢量渲染:

3代码

4小结


1 目的

实现简单的按照arcmap自带色带,进行图层渲染功能,包括

对栅格图层,按栅格值进行拉伸渲染、分级渲染、唯一值渲染

对矢量图层,按某一字段值进行分级渲染、唯一值渲染

2 概要

本文只介绍主要功能方法,具体的调用关系、窗口实现等完整完整demo可见:

https://download.csdn.net/download/nominior/12454058

色带:

1)获取

使用SymbologyControl控件获取ArcMap色带,色带位置:ArcMap安装路径/Styles/ESRI.Style

   

2)显示

使用C#中的combobox对色带进行显示(比SymbologyControl效果略好),分两个过程:

  • 修改combobox的DrawItem方法,使得combobox可以绘制色带
  • 遍历SymbologyControl中的色带,绘制到combobox中

栅格渲染:

  • 包括拉伸渲染、分级渲染、唯一值渲染等渲染方式
  • 基本渲染流程为:创建并设置对应渲染器,渲染颜色与渲染值映射,栅格图层渲

具体见 代码及注释

矢量渲染:

  • 包括拉伸渲染、分级渲染、唯一值渲染等渲染方式
  • 基本渲染流程为:创建并设置对应渲染器,数值处理,渲染颜色与渲染值映射,栅格图层渲染

具体见 代码及注释

3代码

涉及的ArcGIS引用、界面示意如图:

          

combobox色带显示代码

        // combobox重绘
        private void cb_colormap_DrawItem(object sender, DrawItemEventArgs e)
        {
            e.DrawBackground();
            e.DrawFocusRectangle();
            e.Graphics.DrawImage(cb_colormap.Items[e.Index] as Image, e.Bounds);
        }

        // 初始化符号库
        private void InitSymbologyControl()
        {
            //色带定位
            string sInstall = "D:\\ArcGIS\\Desktop10.2\\";
            string defaultStyle = System.IO.Path.Combine(sInstall, "Styles\\ESRI.ServerStyle");
            //色带读取
            this.axSymbologyControl1.LoadStyleFile(defaultStyle);
            this.axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps;
            //色带另存
            this.pSymbologyStyleClass = axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassColorRamps);
        }

        // 初始化色带下拉框
        private void InitColorRampCombobox()
        {
            this.cb_colormap.DrawMode = DrawMode.OwnerDrawFixed;
            this.cb_colormap.DropDownStyle = ComboBoxStyle.DropDownList;
            //绘制色带
            for (int i = 0; i < pSymbologyStyleClass.ItemCount; i++)
            {
                //从另存中读取色带
                IStyleGalleryItem pStyleGalleryItem = pSymbologyStyleClass.G
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值