目录
图层的透明度、对比度和亮度三个属性可以实现对图层明暗程度和透明程度进行调节,以实现在相互叠加的多个不同图层之间的变化分析。
1 ArcMap调整图层透明度、亮度和对比度
对于矢量图层只支持透明度的调节
对于栅格数据可以调节图层透明度、亮度和对比度
空白区域右键,选择【效果(Effects)】,即可进行如下操作:
2 利用ArcEngine实现矢量图层透明度的调整
2.1 常用接口
IFeatureLayer
看到FeatureLayer的实现的接口中包含ILayerEffects,满足接口跳转的条件
ILayerEffects
2.2 AE实现源码
private void 图层透明度ToolStripMenuItem_Click(object sender, EventArgs e)
{
IFeatureLayer myLayer = axMapControl1.get_Layer(0) as IFeatureLayer;
ILayerEffects myEffects = myLayer as ILayerEffects;
myEffects.Transparency = 100;
axMapControl1.Update();
}
2.3 效果演示
3 栅格图层透明度、亮度和对比度的调整
3.1 常用接口
IRasterLayer
RasterLayerClass同时实现IRasterLayer和ILayerEffects接口,可以实现接口跳转
3.2 栅格图层透明度调整源码实现
private void 栅格透明度ToolStripMenuItem_Click(object sender, EventArgs e)
{
IRasterLayer myRasterLayer = axMapControl1.get_Layer(0) as IRasterLayer;
ILayerEffects myRasterEffects = myRasterLayer as ILayerEffects;
myRasterEffects.Transparency = 10;
axMapControl1.Update();
}
3.3 栅格图层亮度调整源码实现
private void 图层亮度ToolStripMenuItem_Click(object sender, EventArgs e)
{
IRasterLayer myRasterLayer = axMapControl1.get_Layer(0) as IRasterLayer;
ILayerEffects myRasterEffects = myRasterLayer as ILayerEffects;
myRasterEffects.Brightness = 50;
axMapControl1.Update();
}
3.4 栅格图层对比图调整源码实现
private void 图层对比度ToolStripMenuItem_Click(object sender, EventArgs e)
{
IRasterLayer myRasterLayer = axMapControl1.get_Layer(0) as IRasterLayer;
ILayerEffects myRasterEffects = myRasterLayer as ILayerEffects;
myRasterEffects.Contrast = 30;
axMapControl1.Update();
}
3.5 效果演示
更多精彩,欢迎关注个人微信公众账号“学而立行”