如何去除栅格影像的黑边?
2016-02-23 15:18
399 查看
来自:http://zhihu.esrichina.com.cn/?/question/6725
朱新颖
【解决办法】:
可以通过设置背景值以及背景色解决此问题。
对于三波段进行RDB渲染的影像可以使用下面代码:
对于单波段影像:
单波段:
朱新颖
【解决办法】:
可以通过设置背景值以及背景色解决此问题。
对于三波段进行RDB渲染的影像可以使用下面代码:
IRasterRenderer RR = RL.Renderer; IRasterRGBRenderer rasterRGBRenderer = null; if (RR is IRasterRGBRenderer) rasterRGBRenderer = RR as IRasterRGBRenderer; RR.Update(); rasterRGBRenderer.RedBandIndex = 0; rasterRGBRenderer.GreenBandIndex = 1; rasterRGBRenderer.BlueBandIndex = 2; IRgbColor rgb = new RgbColorClass(); rgb.NullColor = true; IRasterStretch2 RS = rasterRGBRenderer as IRasterStretch2; // IRasterStretch无法设置数组,需用2 double background = { 0, 0, 0 }; RS.Background = true; RS.BackgroundValue = background as object; RS.BackgroundColor = rgb as IColor; axMapControl1.Refresh();
对于单波段影像:
单波段:
IRasterRenderer RR = RL.Renderer; IRasterStretchColorRampRenderer RSC = null; if (RR is IRasterStretchColorRampRenderer) RSC = RR as IRasterStretchColorRampRenderer; RR.Update(); RSC.BandIndex = 0; IRgbColor rgb = new RgbColorClass(); rgb.NullColor = true; IRasterStretch RS = RSC as IRasterStretch; RS.Background = true; RS.set_BackgroundValues(0); RS.BackgroundColor = rgb as IColor; axMapControl1.Refresh();
相关文章推荐
- 验证货币类型的正则表达式
- theano中tensor的构造方法
- JS打印对象的方法&将Object转换为String的函数
- 优化代码结构笔记
- 【Java学习笔记】继承和多态
- 自定义判断客户端类型函数
- iOS开发之AsyncSocket使用
- 【Android动画】简单的组合动画按钮
- [Scala学习笔记]伴生对象和伴生类
- Cocos2d-x开发FlappyBird01-环境变量配置和测试案例运行
- Unix高级IO之非阻塞I/O
- PHP框架实现数据库连贯查询的思路解析
- 最优化问题简介
- Spark Streaming job 远程debug方法
- 一个粗心的Bug,JSON格式不规范导致AJAX错误
- MySQL Cluster 7.0 +LVS 构建高可用环境
- GTK+窗口只弹出一次
- 全局调度-Quick-Cocos2dx
- 细聊分布式ID生成方法
- 转:Delphi XE4 语言变化 [Weak] [Unsafe]