IRasterClassifyColorRampRenderer 使用时的一些奇怪的地方

36 篇文章 0 订阅

1.IRasterClassifyColorRampRenderer 的Break设置方法

IRasterClassifyColorRampRenderer这个接口是ArcEngine里对单波段栅格影像进行分类渲染的接口,这里的Break(也就是分断点)的设置有点奇怪,很容易用错,研究了一下,用法是这样的.


一个简单的例子,一个0-255的波段图像,要分为三类,0-85,85-170,170-255,那么这个断点其实有四个,分别是0,85,170,255


代码应该类似这样:

IRasterClassifyColorRampRenderer ccr = ...

.....

.....

ccr.set_Break(0,0);
ccr.set_Label(0,"0-85");
ccr.set_Symbol(0,tmpSymbol1);

ccr.set_Break(1,85);
ccr.set_Label(1,"85-170");
ccr.set_Symbol(1,tmpSymbol2);

ccr.set_Break(2,170);
ccr.set_Label(2,"170-255");
ccr.set_Symbol(2,tmpSymbol2);

ccr.set_Break(3,255);


2.Renderer生效前的一些调用

在用语句使Renderer生效前,需要调用这样一些语句,不然经常会出些奇怪的问题:

IRasterClassifyColorRampRenderer ccr = .....


//这几句奇怪的语句,要调用一下

 ((IRasterRenderer)ccr).Raster = tarLyr.Raster;
 ccr.ClassCount = 4;
 ((IRasterRenderer)ccr).Update();


//再进行赋值和计算

ccr.set_Break...

ccr.set_Label...


 tarLyr.Renderer = ccr as IRasterRenderer;
 map.Refresh(esriViewDrawPhase.esriViewAll);
 toc.Update();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值