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); |
2.4. 示例截图