从符号库中取出渲染使用的色带对象IColorRamp(也可以自己定义色带内容)

  1. <pre name="code" class="csharp">IStyleGallery pSG = new ServerStyleGalleryClass();
  2. IStyleGalleryStorage pSGS = pSG as IStyleGalleryStorage;
  3. try
  4. {
  5. pSGS.AddFile(Application.StartupPath + "\\ESRI.ServerStyle");
  6. }
  7. catch (Exception err)
  8. {
  9. MessageBox.Show(err.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  10. }
  11. IEnumStyleGalleryItem pMarkerSymbolEnum = pSG.get_Items("Color Ramps", Application.StartupPath+"\\ESRI.ServerStyle", "");
  12. pMarkerSymbolEnum.Reset();
  13. IStyleGalleryItem pItem = pMarkerSymbolEnum.Next();
  14. while (pItem != null)
  15. {
  16. if (pItem.Name == "Elevation #1")
  17. {
  18. pColorRamp = pItem.Item as IColorRamp;
  19. break;
  20. }
  21. pItem = pMarkerSymbolEnum.Next();
  22. }
<pre name="code" class="csharp">IStyleGallery pSG = new ServerStyleGalleryClass();
IStyleGalleryStorage pSGS = pSG as IStyleGalleryStorage;
try
{
pSGS.AddFile(Application.StartupPath + "\\ESRI.ServerStyle");
}
catch (Exception err)
{
MessageBox.Show(err.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
} IEnumStyleGalleryItem pMarkerSymbolEnum = pSG.get_Items("Color Ramps", Application.StartupPath+"\\ESRI.ServerStyle", "");
pMarkerSymbolEnum.Reset();
IStyleGalleryItem pItem = pMarkerSymbolEnum.Next();
while (pItem != null)
{
if (pItem.Name == "Elevation #1")
{
pColorRamp = pItem.Item as IColorRamp;
break;
}
pItem = pMarkerSymbolEnum.Next();
}

使用取得的ColorRamp对象渲染DEM

  1. IRasterLayer pRasterLayr = axMapControl1.get_Layer(0) as IRasterLayer;
  2. IRasterStretchColorRampRenderer pStretchRenderer = new RasterStretchColorRampRendererClass();
  3. IRasterRenderer pRasterRenderer = (IRasterRenderer)pStretchRenderer;
  4. IRaster pRaster = pRasterLayr.Raster;
  5. pRasterRenderer.Raster = pRaster;
  6. pRasterRenderer.Update();
  7. pStretchRenderer.BandIndex = 0;
  8. pStretchRenderer.ColorRamp = pColorRamp;
  9. IRasterStretch pStretchType = (IRasterStretch)pRasterRenderer;
  10. pStretchType.StretchType = esriRasterStretchTypesEnum.esriRasterStretch_StandardDeviations;
  11. pStretchType.StandardDeviationsParam = 2.5;
  12. pRasterLayr.Renderer = pRasterRenderer;
  13. axMapControl1.Refresh();
  14. axTOCControl1.SetBuddyControl(axMapControl1);
  15. axTOCControl1.Update();
  16. axTOCControl1.Refresh();
IRasterLayer pRasterLayr = axMapControl1.get_Layer(0) as IRasterLayer;

IRasterStretchColorRampRenderer pStretchRenderer = new RasterStretchColorRampRendererClass();
IRasterRenderer pRasterRenderer = (IRasterRenderer)pStretchRenderer;
IRaster pRaster = pRasterLayr.Raster;
pRasterRenderer.Raster = pRaster;
pRasterRenderer.Update();
pStretchRenderer.BandIndex = 0;
pStretchRenderer.ColorRamp = pColorRamp;
IRasterStretch pStretchType = (IRasterStretch)pRasterRenderer;
pStretchType.StretchType = esriRasterStretchTypesEnum.esriRasterStretch_StandardDeviations;
pStretchType.StandardDeviationsParam = 2.5; pRasterLayr.Renderer = pRasterRenderer;
axMapControl1.Refresh();
axTOCControl1.SetBuddyControl(axMapControl1);
axTOCControl1.Update();
axTOCControl1.Refresh();

效果如下图所示

ArcGIS Engine DEM拉伸渲染的更多相关文章

  1. ArcGIS Engine专题地图渲染器的实现(入门版)

    专题地图(Thematic Map)是着重表示一种或数种自然要素特征或社会经济现象的地图 专题地图的内容由两部分构成: 1.专题内容——图上突出表示的自然或社会经济现象及其有关特征 2.地理基础——用 ...

  2. ArcGIS Engine开发前基础知识(2)

    ArcGIS基本控件简介 ArcGIS Engine控件是一组可视化的开发组件,每个ArcGIS Engine控件都是一个COM组件.这些组件包括MapControl,PageLayoutContro ...

  3. ArcGIS Engine开发前基础知识(1)

    ArcGIS二次开发是当前gis领域的一项重要必不可少的技能.下面介绍它的基本功能 一.ArcGIS Engine功能 在使用之前首先安装和部署arcgis sdk,(在这里不在赘述相关知识)可以实现 ...

  4. [转载]ArcGIS Engine 中的多线程使用

    ArcGIS Engine 中的多线程使用 原文链接 http://anshien.blog.163.com/blog/static/169966308201082441114173/   一直都想写 ...

  5. ArcGIS Engine栅格数据使用总结

    jojojojo2002 原文 ArcGIS Engine栅格数据使用总结 简介:ArcGIS Engine栅格数据使用总结,一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波 ...

  6. ArcGIS Engine Style文件操作

    对于一个GISer来说,地图,符号这些都应该有着比别人更深刻的理解和认识,作为平台软件都会提供一套自己的符号库,符号库里面根据类别和种类进行区分,因为点,线,面的自然存在和固有属性是不肯能让你用面状符 ...

  7. VC、OpenGL、ArcGIS Engine开发的二维三维结合的GIS系统

    一.前言 众所周知,二维GIS技术发展了近四十年,伴随着计算机软硬件以及关系型数据库的飞速发展,二维GIS技术已日臻完善.在对地理信息的分析功能上有着无可比拟的优势.一些宏观的地理信息,一维的地理信息 ...

  8. ArcGIS engine中Display类库——Display

    转自原文  ArcGIS engine中Display类库——Display Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这 ...

  9. ArcGIS Engine中的Symbols详解

    转自原文ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式) ...

随机推荐

  1. 记一次dedeCMS网站搭建全过程

    Step 1 使用阿里云Windows Server 2012服务器 { 使用远程桌面进行操作,ip admin pwd登录 } Step 2 下载安装phpStudy包 { 下载安装,直接安装到C盘 ...

  2. 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解

    一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...

  3. slice,substr,substring

    var s = '0123456789';   //slice 遇负数,则此负数值等同于 s.length + (负数) s.slice(3,6); //"345", 从位置3开始 ...

  4. JSC学习笔记:JavaScriptCore 初识

    JSContext/JSValue JSContext是运行JavaScript的上下文环境,是一个全局环境实例:类似于浏览器端的window对象,表示浏览器的窗口:在浏览器中,所有JavaScrip ...

  5. lua学习笔记(1)-基本语法

    ==============变量类型nilnumber(实数)    1 2 3.14 7.65e8string            "hello world" "\n ...

  6. 借助bootstrap框架模仿airbnb写的网页

    View HTML .nav a { color: #5a5a5a; font-size: 11px; font-weight: bold; padding: 14px 10px; text-tran ...

  7. C语言对象化编程

    以下为一个引子: C中struct的函数实现,只能用函数指针成员. C结构体内不能有函数的代码,但可以有函数的指针. C/C code Code highlighting produced by Ac ...

  8. 在magento中定义static block

    在magento中如何调用static block?(系统面板内CMS---->static block) 解答:若想在站点页面的某个地方放点静态的内容,比如广告,或者是促销信息之类的,这样的东 ...

  9. nginx源代码分析--配置文件解析

    ngx-conf-parsing 对 Nginx 配置文件的一些认识: 配置指令具有作用域,分为全局作用域和使用 {} 创建其他作用域. 同一作用域的不同的配置指令没有先后顺序:同一作用域能否使用同样 ...

  10. Java面试题之Request对象的主要方法

    setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值 getAt ...