PIE SDK栅格拉伸渲染

 

1. 功能简介

     栅格数据拉伸渲染是对指定的波段进行图像拉伸,并设置拉伸之后的颜色带,根据像元值和颜色带进行数据渲染。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

实例化拉伸渲染对象示例

第二步

设置要拉伸的波段索引号

第三步

设置拉伸后的颜色

第四步

栅格渲染接口转换

第五步

栅格图层渲染赋值

2.2. 核心接口与方法

接口/类

方法

说明

 

Carto. IRasterStretchColorRampRender

BandIndex

波段索引

ClassColors

颜色集合

 

 

Display.IAlgorithmicColorRamp

FromColor

源颜色

ToColor

目标颜色

CreateRamp()

创建颜色带

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/07图层渲染/06.栅格拉伸渲染

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/CC_2018082615.tif

视频路径

百度云盘地址下/PIE视频教程/07图层渲染/06.栅格拉伸渲染.avi

示例代码

 1 if (mapControlMain.ActiveView.CurrentLayer == null)  return;
 2     //选中的图层是否为栅格图层
 3     IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer;
 4     if (rasterLayer == null)  return;
 5    //设置色带
 6     IAlgorithmicColorRamp algoColorRamp = new AlgorithmicColorRamp();
 7     algoColorRamp.FromColor = Color.Green;
 8     algoColorRamp.ToColor = Color.DarkOrange;
 9 
10     bool resultOK = algoColorRamp.CreateRamp();
11     //设置StretchColorRampRender
12     IRasterStretchColorRampRender rasterSColorRampRender = new RasterStretchColorRampRender();
13     rasterSColorRampRender.BandIndex = 0; //设置要拉伸的波段索引号
14     rasterSColorRampRender.ClassColors = (algoColorRamp as IColorRamp).GetColors();
15     //设置Render属性
16     IRasterRender rasterRender = rasterSColorRampRender as IRasterRender;
17     rasterLayer.Render = rasterRender;
18 // 刷新地图
19 mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
View Code

2.4.  示例截图

 

posted @ 2018-12-24 10:45  PIESAT  阅读(1132)  评论(0编辑  收藏  举报