IColorRamp
- 功能概述:一条具体色带的操作接口,相当于一个颜色的集合
- 主要功能:
- 依据指定颜色个数创建或重建色带:
- IColorRamp.size =12
- ColorRamp.CreatRamp(out bool)
- 依据指定颜色个数创建或重建色带:
- 注意事项:
- IColorRamp仅有两个具体的实现类即 AlgorithmicColorRamp和MultiPartColorRamp
- IColorRamp本质上是一个颜色集合,只有颜色序号和颜色值,因此和具体渲染的对应数值无关
- 补充说明
- AlgorithmicColorRamp:通过设置起讫颜色和颜色个数,自动生成一个渐变色带,是最常用的色带构建对象
- MultiPartColorRamp:通过设置间断点值和颜色,自动生成一个跳跃颜色色带
IRasterRenderer
- 功能概述:栅格渲染器的统一接口
- 主要功能:
- 通过Raster属性,与需要渲染的栅格进行绑定
- 通过Update()方法,提交所有和渲染器有关的参数更新
- 注意事项:
- IRasterRender不提供任何具体类型栅格渲染器的参数修改访问,因此必须将其转化为特定类型的渲染器才可以进行参数修改
- IRasterRender的任何子类型均不能绑定栅格,因此,必须转换成IRaster进行绑定
- 一旦执行了渲染器的参数修改,一定要进行UpDate提交
IRasterRendererColorRamp
- 功能概述:设置或获取指定栅格渲染器的色带
- 主要功能:使用了色带渲染效果的IRasterRenderer具体实现类,提供一个统一的
IRasterRender的主要实现类
RasterRGBRenderer
- 功能概述:实现多波段栅格的彩色合成
- 主要功能:
- 通过UseRed/Blue/GreenBand属性,设置是否需要启用红绿蓝的渲染
- 通过Red/Blue/GreenBandIndex属性,设置红绿蓝的渲染效果的对应波段
- 注意事项:
- 对于单波段影像,波段数只有1,因此只能选择要不要叠加红绿蓝波段
- 对于多波段影像,获取波段集合IBandColloction对象时,一定要注意是从IRaster还是IRasterDataset转化而来的
RasterStretchColorRampRenderer
- 功能概述:实现影像的灰度色带拉伸渲染,可以理解成IColorRamp所对应的渲染器
- 主要功能:
- 设置渲染器所使用的色带
- 设置渲染器的标签值
- 转为IRasterStretch接口,实现灰度拉伸方式、背景色、反转色带、拉伸参数的设置
- 转为IRasterStretchMinMax接口,实现最值拉伸或者百分比截断拉伸的参数设置
- 转为IRasterStretch3接口,实现线性拉伸时Gamma的参数的设置
- 转为IRasterRendererColorRamp对象,进而间接的获取或设置色带,作用与1同效
- 注意事项:
- RasterStretchColorRampRenderer中色带的颜色取值只和影像的灰度值有关
RasterClassifyColorRampRenderer
- 主要功能:实现影像的某一属性值的分类渲染
- 主要功能:
- 设置颜色的分类个数
- 以ISymbol对象方式,设置每一个分类的颜色
- 设置每一个分类的标签值
- 转为IRasterRendererColorRamp对象,进而直接通过色带对分类颜色进行设置
- 注意事项:
- 某一属性值包含影像的灰度值,同时也是默认的分类字段
- 这里默认采用“个数”分类法对属性值进行分类
- 如果对分类结果不满意,应该通过重分类获取新的分类断点
- 实际的分类执行过程,应该是在将其转化为IRasterRender对象并进行Update提交时执行的 ==有待考证==