1. 功能簡介ide
金字塔可用於改善性能,能夠加快柵格數據的顯示速度。隨着放大操做的進行,各個更精細的分辨率等級將逐漸獲得繪製;但性能將保持不變;目前PIE SDK支持柵格數據的金字塔建立,下面對柵格數據格的金字塔建立的功能進行介紹。性能
2. 功能實現說明ui
2.1. 實現思路及原理說明spa
第一步code |
獲取要創建金字塔的柵格數據視頻 |
第二步blog |
利用BuildPyramid(…)進行創建金字塔教程 |
2.2. 核心接口與方法接口
接口/類ip |
方法/屬性 |
說明 |
IRasterDataset |
GetPyramidLevel() |
獲取金字塔級別 |
BuildPyramid(…) |
創建金字塔 |
|
DataSource.DatasetFactory |
OpenRasterDataset (…) |
打開柵格數據集 |
項目路徑 |
百度雲盤地址下/PIE示例程序/04數據操做/14柵格數據建立金字塔 |
數據路徑 |
百度雲盤地址下/PIE示例數據/柵格數據/04.World/World.tif |
視頻路徑 |
百度雲盤地址下/PIE視頻教程/04數據操做/14柵格數據建立金字塔.avi |
示例代碼 |
|
![]() 1 /// <summary> 2 /// 創建金字塔 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_BuildPyramid_Click(object sender, EventArgs e) 7 { 8 try 9 { 10 OpenFileDialog openFileDialog = new OpenFileDialog(); 11 openFileDialog.Filter = "RasterFile|*.tiff"; 12 if (openFileDialog.ShowDialog() != DialogResult.OK) return; 13 string path = openFileDialog.FileName; 14 IRasterDataset rasterDataSet = DatasetFactory.OpenRasterDataset(path, OpenMode.ReadOnly); 15 int count = rasterDataSet.GetPyramidLevel(); 16 MessageBox.Show("金字塔建立以前的級別爲【" + count + "】"); 17 bool bOk = rasterDataSet.BuildPyramid(Convert.ToSingle(0.5), DadaSampleType.CUBIC, null, null); 18 count = rasterDataSet.GetPyramidLevel(); 19 if (bOk) 20 { 21 MessageBox.Show("金字塔建立成功,金字塔建立以後的級別爲【" + count + "】"); 22 } 23 else 24 { 25 MessageBox.Show("金字塔建立失敗!"); 26 } 27 return; 28 } 29 catch (Exception ex) 30 { 31 MessageBox.Show(ex.ToString(), "建立金字塔失敗異常"); 32 } 33 } |