ArcGIS AddIn 批量设置栅格图层背景色为透明
protected override void OnClick()
{
//
// TODO: Sample code showing how to access button host
//
ArcMap.Application.CurrentTool = null; IMap pMap = ArcMap.Document.FocusMap;
for (int i = ; i < pMap.LayerCount; i++)
{
ILayer pLayer = pMap.get_Layer(i);
if (pLayer is IRasterLayer)
{
IRasterLayer pRstLyr = pLayer as IRasterLayer;
IRasterStretchColorRampRenderer pRasterStretchColorRampRenderer;
IRasterStretch2 prstStretch= pRstLyr.Renderer as IRasterStretch2;
// Setup the stretch
prstStretch.Background = true;
// Apply the renderer
pRstLyr.Renderer = (IRasterRenderer)prstStretch;
// Collapse the legends on each raster
ILegendInfo legendInfo = (ILegendInfo)pRstLyr.Renderer;
ILegendGroup legendGroup = (ILegendGroup)legendInfo.get_LegendGroup();
legendGroup.Visible = false;
}
}
}
核心实现代码如上
上述代码实现了对TOC中所有栅格图层批量设置其背景色为透明,可以避免在工作中加载大量分幅图时,部分分幅图背景显示为黑色导致的黑边问题.
相当于批量将TOC中所有栅格图层勾选了 Display background Value as 选项.

上述代码只是简单实现了功能,没有考虑图层组的情况,如果图层放入图层组中,会检索不到,从而不对图层组中的图层做任何处理
编译插件文件下载地址: 链接: https://pan.baidu.com/s/1GUBJRe_dLV7657ozgTqVhw 密码: djq2
ArcGIS AddIn 批量设置栅格图层背景色为透明的更多相关文章
- ArcGIS 10 影像、栅格数据格式批量转换
转自原文 ArcGIS 10 影像.栅格数据格式批量转换 在做三维场景的时候,经常会涉及多种不同格式DEM数据或者影像的转换,如ASCII.GRID.IMG.TIFF等等,遇到大数据量时,我们就需要批 ...
- 【转】ArcGIS Server 10.1 动态图层—添加栅格
本文将介绍如何通过arcgisserver10.1动态图层添加栅格影像.与添加矢量数据不同的是,天际栅格用到了RasterDataSource接口,如下所示 <esri:DynamicLayer ...
- (八)WebGIS中栅格图层的设计
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1. 前言 我们在上一章里了解到WebGIS中栅格图层的本质—— ...
- 再议使用Python批量裁切栅格
曾经写过<使用Python脚本批量裁切栅格>,但今天又遇到这个情况则发现了问题.我们遇到的实际问题往往是有一个需要裁剪的影像(大块的),另外有一个矢量面,现在需要按矢量面每一个要素进行裁剪 ...
- ArcGIS Add-in插件开发从0到1及实际案例分享
同学做毕设,要求我帮着写个ArcGIS插件,实现功能为:遍历所有图斑,提取相邻图斑的公共边长及其他属性(包括相邻图斑的ID),链接到属性表中.搞定后在这里做个记录.本文分两大部分: ArcGIS插件开 ...
- MAPINFO中利用GridMaker工具创建栅格图层
在工作中需要使用栅格地图,以往都是由研发人员来创建,今天偶然发现Mapinfo中有GridMaker这样一个工具,结合网络搜索自己试了一下,居然做成功了,这里把步骤记录下来,方便以后查看. 1.首先在 ...
- ArcGIS AddIN开发异常之--“ValidateAddInXMLTask”任务意外失败
ArcGIS AddIN开发时,产生如下异常错误 2 “ValidateAddInXMLTask”任务意外失败.System.NullReferenceException: 未将对象引用设置到对象的 ...
- arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现
图层控制是非常多GIS系统里面必须的一个小功能,本文就说说arcgis for javascript下ArcGISDynamicMapServiceLayer图层控制的实现方式.首先看图: 实现效果 ...
- Qt+QGis二次开发:加载栅格图层和矢量图层
一.加载栅格图像 加载栅格图像的详细步骤在下面代码里: //添加栅格数据按钮槽函数 void MainWindow::addRasterlayers() { //步骤1:打开文件选择对话框 QStri ...
随机推荐
- 通过命令修改mysql的提示符
在cmd窗口操作mysql数据库的时候,前面的提示符永远都是mysql>,这个提示符可以通过命令修改. 在登录mysql时修改: mysql -uroot -p --prompt 提示符 登录后 ...
- auto类型说明符
auto让编译器通过出初始值来推算变量的类型,显然,auto定义的变量必须有初始值: //由val1和val2相加的结果可以推断出item的类型 auto item = val1 + val2;//i ...
- SpringBoot使用Redis共享用户session信息
SpringBoot引入Redis依赖: <dependency> <groupId>org.springframework.boot</groupId> < ...
- pythonのsqlalchemy多对多关系
现在来设计一个能描述“图书”与“作者”的关系的表结构,需求是 一本书可以有好几个作者一起出版 一个作者可以写好几本书 #!/usr/bin/env python from sqlalchemy imp ...
- Django之权限
关于rbac: (1) 创建表关系: class User(models.Model): name=models.CharField(max_length=32) pwd=models.CharFie ...
- Android获取虚拟软键盘高度
public static int getDpi(Context context) { int dpi = 0; WindowManager windowManager = (WindowManage ...
- python中的赋值操作
参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作“=” ...
- TCP-IP详解笔记6
TCP-IP详解笔记6 用户数据报协议和IP分片 UDP是一种保留消息边界的面向数据报的传输层协议. 不提供差错纠正, 队列管理, 重复消除, 流量控制和拥塞控制. 提供差错检测, 端到端(end-t ...
- php 新闻上一条下一条
public function prevnext($table,$id,$where=[]){ $ids=db($table)->field('id,title')->order('sor ...
- ARKit1.5 采坑
1.对应的生成的预制体,0.1的大小按照Cube的实际大小进行缩放. Plane和Cube都是0.1的情况下是不一样的大小的.