PIE SDK栅格RGB渲染
1. 功能简介
RGB色彩模式是一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
栅格RGB渲染是通过对R、G、B三个通道分别设置影像中指定波段索引,达到特定的渲染效果。
PIE SDK中RGB渲染中,通道对应的波段索引可以根据栅格数据的波段数进行自由设置,索引值可相同,也可不通。
2. 功能实现说明
2.1. 实现思路及原理说明
第一步 |
实例化RGB渲染对象。 |
第二步 |
设置红、绿、蓝波段信息 |
第三步 |
设置波段索引信息 |
第四步 |
栅格渲染接口转换 |
第五步 |
栅格图层渲染赋值 |
2.2. 核心接口与方法
接口/类 |
方法 |
说明 |
Carto. IRasterRGBRender |
UseRedBand |
红波段信息 |
UseGreenBand |
绿波段信息 |
|
UseBlueBand |
蓝波段信息 |
|
SetBandIndices |
设置波段组合 |
2.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/07图层渲染/07.栅格RGB渲染 |
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/01.GF1/GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tif |
视频路径 |
百度云盘地址下/PIE视频教程/07图层渲染/07.栅格RGB渲染.avi |
示例代码 |
|
1 //当前选中的图层,通过鼠标点击进行设置 2 if (mapControlMain.ActiveView.CurrentLayer == null)return; 3 //判断选择的图层是否为栅格图层 4 IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer; 5 if (rasterLayer == null)return; 6 //初始化rgbRender 7 IRasterRGBRender rRGBRender = new PIE.Carto.RasterRGBRender(); 8 9 //设置参数 10 rRGBRender.UseRedBand = true; 11 rRGBRender.UseGreenBand = true; 12 rRGBRender.UseBlueBand = true; 13 //根据栅格数据的波段数进行rgb波段索引设置, 14 rRGBRender.SetBandIndices(3, 2, 1); 15 16 //设置rasterrender 17 IRasterRender render = rRGBRender as IRasterRender; 18 rasterLayer.Render = render; 19 //刷新视图 mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); |