1. 功能簡介

        亮度是指發光體(反光體)表面發光(反光)強弱的物理量;對比度指的是一幅圖像中明暗區域最亮的白和最暗的黑之間不同亮度層級的測量;透明度是描述光線透過的程度

        柵格數據增強控制主要是通過對亮度、對比度、透明度三個數值進行調整,從而達到數據顯示的增強,顯示不同的圖像效果。

       PIE SDK中設置屬性值時,亮度、對比度為0~100之間的整數,透明度為0~255之間的整數。亮度、對比度的默認值為50,透明度的默認值為255。

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

示例代碼

對比度增強測量eme_百度雲

對比度增強測量eme_圖層_02


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     }


View Code


2.4. 示例截圖

對比度增強測量eme_柵格_03