与栅格渲染相关的接口关系

来源:互联网 发布:40mac全灭 圆盘是生物 编辑:程序博客网 时间:2024/06/05 03:33

  • IColorRamp
  • IRasterRenderer
  • IRasterRendererColorRamp
  • IRasterRender的主要实现类
    • RasterRGBRenderer
    • RasterStretchColorRampRenderer
    • RasterClassifyColorRampRenderer

IColorRamp

  1. 功能概述:一条具体色带的操作接口,相当于一个颜色的集合
  2. 主要功能:
    1. 依据指定颜色个数创建或重建色带:
      1. IColorRamp.size =12
      2. ColorRamp.CreatRamp(out bool)
  3. 注意事项:
    1. IColorRamp仅有两个具体的实现类即 AlgorithmicColorRamp和MultiPartColorRamp
    2. IColorRamp本质上是一个颜色集合,只有颜色序号和颜色值,因此和具体渲染的对应数值无关
  4. 补充说明
    1. AlgorithmicColorRamp:通过设置起讫颜色和颜色个数,自动生成一个渐变色带,是最常用的色带构建对象
    2. MultiPartColorRamp:通过设置间断点值和颜色,自动生成一个跳跃颜色色带

IRasterRenderer

  1. 功能概述:栅格渲染器的统一接口
  2. 主要功能:
    1. 通过Raster属性,与需要渲染的栅格进行绑定
    2. 通过Update()方法,提交所有和渲染器有关的参数更新
  3. 注意事项:
    1. IRasterRender不提供任何具体类型栅格渲染器的参数修改访问,因此必须将其转化为特定类型的渲染器才可以进行参数修改
    2. IRasterRender的任何子类型均不能绑定栅格,因此,必须转换成IRaster进行绑定
    3. 一旦执行了渲染器的参数修改,一定要进行UpDate提交

IRasterRendererColorRamp

  1. 功能概述:设置或获取指定栅格渲染器的色带
  2. 主要功能:使用了色带渲染效果的IRasterRenderer具体实现类,提供一个统一的

IRasterRender的主要实现类

RasterRGBRenderer

  1. 功能概述:实现多波段栅格的彩色合成
  2. 主要功能:
    1. 通过UseRed/Blue/GreenBand属性,设置是否需要启用红绿蓝的渲染
    2. 通过Red/Blue/GreenBandIndex属性,设置红绿蓝的渲染效果的对应波段
  3. 注意事项:
    1. 对于单波段影像,波段数只有1,因此只能选择要不要叠加红绿蓝波段
    2. 对于多波段影像,获取波段集合IBandColloction对象时,一定要注意是从IRaster还是IRasterDataset转化而来的

RasterStretchColorRampRenderer

  1. 功能概述:实现影像的灰度色带拉伸渲染,可以理解成IColorRamp所对应的渲染器
  2. 主要功能:
    1. 设置渲染器所使用的色带
    2. 设置渲染器的标签值
    3. 转为IRasterStretch接口,实现灰度拉伸方式、背景色、反转色带、拉伸参数的设置
    4. 转为IRasterStretchMinMax接口,实现最值拉伸或者百分比截断拉伸的参数设置
    5. 转为IRasterStretch3接口,实现线性拉伸时Gamma的参数的设置
    6. 转为IRasterRendererColorRamp对象,进而间接的获取或设置色带,作用与1同效
  3. 注意事项:
    1. RasterStretchColorRampRenderer中色带的颜色取值只和影像的灰度值有关

RasterClassifyColorRampRenderer

  1. 主要功能:实现影像的某一属性值的分类渲染
  2. 主要功能:
    1. 设置颜色的分类个数
    2. 以ISymbol对象方式,设置每一个分类的颜色
    3. 设置每一个分类的标签值
    4. 转为IRasterRendererColorRamp对象,进而直接通过色带对分类颜色进行设置
  3. 注意事项:
    1. 某一属性值包含影像的灰度值,同时也是默认的分类字段
    2. 这里默认采用“个数”分类法对属性值进行分类
    3. 如果对分类结果不满意,应该通过重分类获取新的分类断点
    4. 实际的分类执行过程,应该是在将其转化为IRasterRender对象并进行Update提交时执行的 ==有待考证==
原创粉丝点击