1. 功能简介
亮度是指发光体(反光体)表面发光(反光)强弱的物理量;对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量;透明度是描述光线透过的程度
栅格数据增强控制主要是通过对亮度、对比度、透明度三个数值进行调整,从而达到数据显示的增强,显示不同的图像效果。
PIE SDK中设置属性值时,对比度、亮度、透明度均为0~100之间的整数。
2.功能实现说明
2.1. 实现思路及原理说明
第一步 | 获取栅格图层Render进行接口转换。 |
第二步 | 设置对比度、亮度、透明度属性值。 |
第三步 | 触发渲染改变事件,重新绘制。 |
2.2. 核心接口与方法
接口/类 | 方法 | 说明 |
Carto.IRasterDisplayProps | BrightnessValue | 亮度属性 |
ContrastValue | 对比度属性 | |
TransparencyValue | 透明度属性 |
2.3. 示例代码
项目路径 | 百度云盘地址下/PIE示例程序/07图层渲染/10.栅格增强控制 |
数据路径 | 百度云盘地址下/PIE示例数据/栅格数据/01.GF1/ GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tif |
视频路径 | 百度云盘地址下/PIE视频教程/07图层渲染/10.栅格增强控制.avi |
示例代码 | |
![]() ![]() 1 if (mapControlMain.ActiveView.CurrentLayer == null) return; 2 IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer; 3 if (rasterLayer != null) 4 { 5 //通过界面去设置三个属性值亮度、透明度、对比度 6 FormRasterParam frm = new FormRasterParam(rasterLayer); 7 frm.ShowDialog(); 8 if (frm.DialogResult == DialogResult.OK) 9 {10 //设置栅格拉伸属性11 IRasterStretch rStretch = rasterLayer.Render as IRasterStretch;12 (rStretch as IRasterDisplayProps).BrightnessValue = frm.Brightness;//亮度13 (rStretch as IRasterDisplayProps).ContrastValue = frm.Contrast; ;//对比度14 (rStretch as IRasterDisplayProps).TransparencyValue = frm.Transparency;//透明度15 rasterLayer.RaiseRenderChanged();16 mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);17 }18 } |