using System; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.Utils; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.Mask; using DevExpress.XtraTab; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.DataSourcesRaster; using ESRI.ArcGIS.Geodatabase; using KGIS.Plugin.LayerProperty.Interface; using KGIS.Plugin.LayerProperty.Utils; namespace KGIS.Plugin.LayerProperty.View.UC_Controls { public class UCRasterStretchSet : XtraUserControl, IPropertyPage { private bool m_Invert; private esriRasterStretchTypesEnum m_RasterStretchTypesEnum; private esriRasterStretchStatsTypeEnum m_RasterStretchStatsTypeEnum; private bool m_UseGamma; private IRasterRenderer m_RasterRenderer; private System.EventHandler editorChanged; private bool isDirty; private IContainer components; private GroupControl groupControl1; private CheckEdit chkInvert; private LabelControl labelControl1; private ComboBoxEdit cmbStretchType; private TextEdit textEdit3; private TextEdit textEdit2; private TextEdit textEdit1; private CheckEdit chkUseGamma; private GroupControl groupControl2; private ComboBoxEdit cmbStretchStatsType; private PanelControl panelControl1; private MemoEdit memoEdit1; private PanelControl panelControl2; private LabelControl labelControl2; private MemoEdit memoEdit2; private XtraTabControl xtraTabControl1; private XtraTabPage xtraTabPage1; private XtraTabPage xtraTabPage2; private XtraTabPage xtraTabPage3; private LabelControl labelControl3; private TextEdit txtStddevR; private TextEdit txtMeanR; private TextEdit txtMaxR; private TextEdit txtMinR; private LabelControl labelControl6; private LabelControl labelControl5; private LabelControl labelControl4; private TextEdit txtStddevG; private TextEdit txtMeanG; private TextEdit txtMaxG; private TextEdit txtMinG; private LabelControl labelControl7; private LabelControl labelControl8; private LabelControl labelControl9; private LabelControl labelControl10; private TextEdit txtStddevB; private TextEdit txtMeanB; private TextEdit txtMaxB; private TextEdit txtMinB; private LabelControl labelControl11; private LabelControl labelControl12; private LabelControl labelControl13; private LabelControl labelControl14; private TextEdit txtStandardDeviationsParam; private LabelControl labelControl15; event System.EventHandler IPropertyPage.EditorChanged { add { this.editorChanged = (System.EventHandler)Delegate.Combine(this.editorChanged, value); } remove { this.editorChanged = (System.EventHandler)Delegate.Remove(this.editorChanged, value); } } bool IPropertyPage.IsPageDirty { get { return this.isDirty; } set { this.isDirty = value; } } DockStyle IPropertyPage.Dock { get; set; } public UCRasterStretchSet() { this.InitializeComponent(); } private void InitStretchType() { this.cmbStretchType.Properties.Items.Clear(); ItemInfo item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_NONE, "无"); this.cmbStretchType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_DefaultFromSource, "缺省"); this.cmbStretchType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_Custom, "自定义"); this.cmbStretchType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_StandardDeviations, "标准差"); this.cmbStretchType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_HistogramEqualize, "直方图均衡"); this.cmbStretchType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_MinimumMaximum, "最大最小值"); item = new ItemInfo(esriRasterStretchTypesEnum.esriRasterStretch_HistogramSpecification, "规范直方图"); this.cmbStretchType.Properties.Items.Add(item); } private void InitStretchStatsType() { this.cmbStretchStatsType.Properties.Items.Clear(); ItemInfo item = new ItemInfo(esriRasterStretchStatsTypeEnum.esriRasterStretchStats_AreaOfView, "从当前可视范围内"); this.cmbStretchStatsType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchStatsTypeEnum.esriRasterStretchStats_Dataset, "从当前每个栅格数据集"); this.cmbStretchStatsType.Properties.Items.Add(item); item = new ItemInfo(esriRasterStretchStatsTypeEnum.esriRasterStretchStats_GlobalStats, "从自定义设置中(如下)"); this.cmbStretchStatsType.Properties.Items.Add(item); } void IPropertyPage.InitUC(object property) { this.InitStretchType(); this.InitStretchStatsType(); IRasterLayer rasterLayer = property as IRasterLayer; if (rasterLayer == null) { return; } this.m_RasterRenderer = rasterLayer.Renderer; if (this.m_RasterRenderer is IRasterStretch2) { IRasterStretch2 rasterStretch = this.m_RasterRenderer as IRasterStretch2; this.chkInvert.Checked = rasterStretch.Invert; this.cmbStretchType.SelectedIndex = (int)Convert.ToInt16(rasterStretch.StretchType); this.cmbStretchStatsType.SelectedIndex = (int)Convert.ToInt16(rasterStretch.StretchStatsType); } if (this.m_RasterRenderer is IRasterStretch3) { IRasterStretch3 rasterStretch2 = this.m_RasterRenderer as IRasterStretch3; this.chkUseGamma.Checked = rasterStretch2.UseGamma; if (rasterStretch2.GammaValue is double) { this.textEdit1.Text = rasterStretch2.GammaValue.ToString(); return; } double[] array = rasterStretch2.GammaValue as double[]; this.textEdit1.Text = array[0].ToString(); if (array.Length >= 2) { this.textEdit2.Text = array[1].ToString(); } if (array.Length >= 3) { this.textEdit3.Text = array[2].ToString(); } } } bool IPropertyPage.CanWrite2Prop() { return true; } void IPropertyPage.Write2Prop() { if (this.m_RasterRenderer is IRasterStretch2) { IRasterStretch2 rasterStretch = this.m_RasterRenderer as IRasterStretch2; rasterStretch.Invert = this.chkInvert.Checked; rasterStretch.StretchType = this.m_RasterStretchTypesEnum; rasterStretch.StretchStatsType = this.m_RasterStretchStatsTypeEnum; if (rasterStretch.StretchType == esriRasterStretchTypesEnum.esriRasterStretch_StandardDeviations) { rasterStretch.StandardDeviationsParam = Convert.ToDouble(this.txtStandardDeviationsParam.Text); } } if (this.m_RasterRenderer is IRasterStretch3) { IRasterStretch3 rasterStretch2 = this.m_RasterRenderer as IRasterStretch3; rasterStretch2.UseGamma = this.chkUseGamma.Checked; } if (this.m_RasterStretchStatsTypeEnum == esriRasterStretchStatsTypeEnum.esriRasterStretchStats_GlobalStats) { this.SetStatisticsCurrentDataset(); } } void IPropertyPage.SetDefaultValue(object value) { } private void InvokeEditValueChanged(object sender, System.EventArgs e) { if (this.editorChanged != null) { this.editorChanged(sender, e); } this.isDirty = true; } private void cmbStretchType_SelectedValueChanged(object sender, System.EventArgs e) { ItemInfo itemInfo = this.cmbStretchType.EditValue as ItemInfo; if (itemInfo != null) { this.m_RasterStretchTypesEnum = itemInfo.InnerValue; } if (this.m_RasterStretchTypesEnum == esriRasterStretchTypesEnum.esriRasterStretch_StandardDeviations) { if (this.m_RasterRenderer is IRasterStretch2) { this.txtStandardDeviationsParam.Visible = true; this.labelControl15.Visible = true; IRasterStretch2 rasterStretch = this.m_RasterRenderer as IRasterStretch2; this.txtStandardDeviationsParam.Text = rasterStretch.StandardDeviationsParam.ToString(); } } else { this.txtStandardDeviationsParam.Visible = false; this.labelControl15.Visible = false; } this.InvokeEditValueChanged(sender, e); } private void cmbStretchStatsType_SelectedValueChanged(object sender, System.EventArgs e) { ItemInfo itemInfo = this.cmbStretchStatsType.EditValue as ItemInfo; if (itemInfo != null) { this.m_RasterStretchStatsTypeEnum = itemInfo.InnerValue; switch (this.m_RasterStretchStatsTypeEnum) { case esriRasterStretchStatsTypeEnum.esriRasterStretchStats_AreaOfView: this.memoEdit1.Text = "收集来自当前显示范围内使用所有可见的像素值的统计资料。"; this.panelControl1.Visible = true; this.panelControl2.Visible = false; this.memoEdit2.Text = this.GetStatisticsCurrentDisplay(); return; case esriRasterStretchStatsTypeEnum.esriRasterStretchStats_Dataset: this.memoEdit1.Text = "使用整个栅格数据集的统计数据。"; this.panelControl1.Visible = false; this.panelControl2.Visible = false; return; case esriRasterStretchStatsTypeEnum.esriRasterStretchStats_GlobalStats: this.panelControl2.Visible = true; this.panelControl1.Visible = false; this.GetStatisticsCurrentDataset(); break; default: return; } } } private void chkUseGamma_CheckStateChanged(object sender, System.EventArgs e) { this.textEdit1.Enabled = this.chkUseGamma.Checked; this.textEdit2.Enabled = this.chkUseGamma.Checked; this.textEdit3.Enabled = this.chkUseGamma.Checked; } private string GetStatisticsCurrentDisplay() { if (this.m_RasterRenderer == null) { return ""; } IRaster raster = this.m_RasterRenderer.Raster; if (raster == null) { return ""; } IRasterBandCollection rasterBandCollection = raster as IRasterBandCollection; if (rasterBandCollection == null) { return ""; } StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < rasterBandCollection.Count; i++) { IRasterBand rasterBand = rasterBandCollection.Item(i); IRasterStatistics statistics = rasterBand.Statistics; stringBuilder.AppendLine("波段#" + i + 1); stringBuilder.AppendLine("最小值:" + statistics.Minimum); stringBuilder.AppendLine("最大值:" + statistics.Maximum); stringBuilder.AppendLine("平均值:" + statistics.Mean); stringBuilder.AppendLine("标准偏差:" + statistics.StandardDeviation); } return stringBuilder.ToString(); } private void GetStatisticsCurrentDataset() { if (this.m_RasterRenderer == null) { return; } IRaster raster = this.m_RasterRenderer.Raster; if (raster == null) { return; } IRasterBandCollection rasterBandCollection = raster as IRasterBandCollection; if (rasterBandCollection == null) { return; } IRasterBand rasterBand = rasterBandCollection.Item(0); IRasterStatistics statistics = rasterBand.Statistics; this.txtMinR.Text = (this.txtMinG.Text = (this.txtMinB.Text = statistics.Minimum.ToString())); this.txtMaxR.Text = (this.txtMaxG.Text = (this.txtMaxB.Text = statistics.Maximum.ToString())); this.txtMeanR.Text = (this.txtMeanG.Text = (this.txtMeanB.Text = statistics.Mean.ToString())); this.txtStddevR.Text = (this.txtStddevG.Text = (this.txtStddevB.Text = statistics.StandardDeviation.ToString())); if (rasterBandCollection.Count == 1) { this.xtraTabPage2.PageVisible = false; this.xtraTabPage3.PageVisible = false; this.xtraTabPage1.Text = "统计信息"; } if (rasterBandCollection.Count == 3) { this.xtraTabPage2.PageVisible = true; this.xtraTabPage3.PageVisible = true; this.xtraTabPage1.Text = "红(Red)"; rasterBand = rasterBandCollection.Item(1); statistics = rasterBand.Statistics; this.txtMinG.Text = statistics.Minimum.ToString(); this.txtMaxG.Text = statistics.Maximum.ToString(); this.txtMeanG.Text = statistics.Mean.ToString(); this.txtStddevG.Text = statistics.StandardDeviation.ToString(); rasterBand = rasterBandCollection.Item(2); statistics = rasterBand.Statistics; this.txtMinB.Text = statistics.Minimum.ToString(); this.txtMaxB.Text = statistics.Maximum.ToString(); this.txtMeanB.Text = statistics.Mean.ToString(); this.txtStddevB.Text = statistics.StandardDeviation.ToString(); } } private void SetStatisticsCurrentDataset() { if (this.m_RasterRenderer == null) { return; } IRaster raster = this.m_RasterRenderer.Raster; if (raster == null) { return; } IRasterBandCollection rasterBandCollection = raster as IRasterBandCollection; if (rasterBandCollection == null) { return; } IRasterBand rasterBand = rasterBandCollection.Item(0); IRasterStatistics statistics = rasterBand.Statistics; this.txtMinR.Text = (this.txtMinG.Text = (this.txtMinB.Text = statistics.Minimum.ToString())); this.txtMaxR.Text = (this.txtMaxG.Text = (this.txtMaxB.Text = statistics.Maximum.ToString())); this.txtMeanR.Text = (this.txtMeanG.Text = (this.txtMeanB.Text = statistics.Mean.ToString())); this.txtStddevR.Text = (this.txtStddevG.Text = (this.txtStddevB.Text = statistics.StandardDeviation.ToString())); if (rasterBandCollection.Count == 1) { statistics.Minimum = Convert.ToDouble(this.txtMinR.Text); statistics.Maximum = Convert.ToDouble(this.txtMaxR.Text); statistics.Mean = Convert.ToDouble(this.txtMeanR.Text); statistics.StandardDeviation = Convert.ToDouble(this.txtStddevR.Text); } if (rasterBandCollection.Count == 3) { rasterBand = rasterBandCollection.Item(1); statistics = rasterBand.Statistics; statistics.Minimum = Convert.ToDouble(this.txtMinG.Text); statistics.Maximum = Convert.ToDouble(this.txtMaxG.Text); statistics.Mean = Convert.ToDouble(this.txtMeanG.Text); statistics.StandardDeviation = Convert.ToDouble(this.txtStddevG.Text); rasterBand = rasterBandCollection.Item(2); statistics = rasterBand.Statistics; statistics.Minimum = Convert.ToDouble(this.txtMinB.Text); statistics.Maximum = Convert.ToDouble(this.txtMaxB.Text); statistics.Mean = Convert.ToDouble(this.txtMeanB.Text); statistics.StandardDeviation = Convert.ToDouble(this.txtStddevB.Text); } } protected override void Dispose(bool disposing) { if (disposing && this.components != null) { this.components.Dispose(); } base.Dispose(disposing); } private void InitializeComponent() { this.groupControl1 = new GroupControl(); this.groupControl2 = new GroupControl(); this.panelControl2 = new PanelControl(); this.xtraTabControl1 = new XtraTabControl(); this.xtraTabPage1 = new XtraTabPage(); this.txtStddevR = new TextEdit(); this.txtMeanR = new TextEdit(); this.txtMaxR = new TextEdit(); this.txtMinR = new TextEdit(); this.labelControl6 = new LabelControl(); this.labelControl5 = new LabelControl(); this.labelControl4 = new LabelControl(); this.labelControl3 = new LabelControl(); this.xtraTabPage2 = new XtraTabPage(); this.txtStddevG = new TextEdit(); this.txtMeanG = new TextEdit(); this.txtMaxG = new TextEdit(); this.txtMinG = new TextEdit(); this.labelControl7 = new LabelControl(); this.labelControl8 = new LabelControl(); this.labelControl9 = new LabelControl(); this.labelControl10 = new LabelControl(); this.xtraTabPage3 = new XtraTabPage(); this.txtStddevB = new TextEdit(); this.txtMeanB = new TextEdit(); this.txtMaxB = new TextEdit(); this.txtMinB = new TextEdit(); this.labelControl11 = new LabelControl(); this.labelControl12 = new LabelControl(); this.labelControl13 = new LabelControl(); this.labelControl14 = new LabelControl(); this.memoEdit1 = new MemoEdit(); this.cmbStretchStatsType = new ComboBoxEdit(); this.panelControl1 = new PanelControl(); this.labelControl2 = new LabelControl(); this.memoEdit2 = new MemoEdit(); this.textEdit3 = new TextEdit(); this.textEdit2 = new TextEdit(); this.textEdit1 = new TextEdit(); this.chkUseGamma = new CheckEdit(); this.chkInvert = new CheckEdit(); this.labelControl1 = new LabelControl(); this.cmbStretchType = new ComboBoxEdit(); this.txtStandardDeviationsParam = new TextEdit(); this.labelControl15 = new LabelControl(); ((ISupportInitialize)this.groupControl1).BeginInit(); this.groupControl1.SuspendLayout(); ((ISupportInitialize)this.groupControl2).BeginInit(); this.groupControl2.SuspendLayout(); ((ISupportInitialize)this.panelControl2).BeginInit(); this.panelControl2.SuspendLayout(); ((ISupportInitialize)this.xtraTabControl1).BeginInit(); this.xtraTabControl1.SuspendLayout(); this.xtraTabPage1.SuspendLayout(); ((ISupportInitialize)this.txtStddevR.Properties).BeginInit(); ((ISupportInitialize)this.txtMeanR.Properties).BeginInit(); ((ISupportInitialize)this.txtMaxR.Properties).BeginInit(); ((ISupportInitialize)this.txtMinR.Properties).BeginInit(); this.xtraTabPage2.SuspendLayout(); ((ISupportInitialize)this.txtStddevG.Properties).BeginInit(); ((ISupportInitialize)this.txtMeanG.Properties).BeginInit(); ((ISupportInitialize)this.txtMaxG.Properties).BeginInit(); ((ISupportInitialize)this.txtMinG.Properties).BeginInit(); this.xtraTabPage3.SuspendLayout(); ((ISupportInitialize)this.txtStddevB.Properties).BeginInit(); ((ISupportInitialize)this.txtMeanB.Properties).BeginInit(); ((ISupportInitialize)this.txtMaxB.Properties).BeginInit(); ((ISupportInitialize)this.txtMinB.Properties).BeginInit(); ((ISupportInitialize)this.memoEdit1.Properties).BeginInit(); ((ISupportInitialize)this.cmbStretchStatsType.Properties).BeginInit(); ((ISupportInitialize)this.panelControl1).BeginInit(); this.panelControl1.SuspendLayout(); ((ISupportInitialize)this.memoEdit2.Properties).BeginInit(); ((ISupportInitialize)this.textEdit3.Properties).BeginInit(); ((ISupportInitialize)this.textEdit2.Properties).BeginInit(); ((ISupportInitialize)this.textEdit1.Properties).BeginInit(); ((ISupportInitialize)this.chkUseGamma.Properties).BeginInit(); ((ISupportInitialize)this.chkInvert.Properties).BeginInit(); ((ISupportInitialize)this.cmbStretchType.Properties).BeginInit(); ((ISupportInitialize)this.txtStandardDeviationsParam.Properties).BeginInit(); base.SuspendLayout(); this.groupControl1.Controls.Add(this.labelControl15); this.groupControl1.Controls.Add(this.groupControl2); this.groupControl1.Controls.Add(this.textEdit3); this.groupControl1.Controls.Add(this.textEdit2); this.groupControl1.Controls.Add(this.txtStandardDeviationsParam); this.groupControl1.Controls.Add(this.textEdit1); this.groupControl1.Controls.Add(this.chkUseGamma); this.groupControl1.Controls.Add(this.chkInvert); this.groupControl1.Controls.Add(this.labelControl1); this.groupControl1.Controls.Add(this.cmbStretchType); this.groupControl1.Location = new Point(3, 3); this.groupControl1.Name = "groupControl1"; this.groupControl1.Size = new Size(386, 290); this.groupControl1.TabIndex = 0; this.groupControl1.Text = "拉伸设置"; this.groupControl2.Controls.Add(this.panelControl2); this.groupControl2.Controls.Add(this.memoEdit1); this.groupControl2.Controls.Add(this.cmbStretchStatsType); this.groupControl2.Controls.Add(this.panelControl1); this.groupControl2.Location = new Point(5, 104); this.groupControl2.Name = "groupControl2"; this.groupControl2.Size = new Size(376, 180); this.groupControl2.TabIndex = 5; this.groupControl2.Text = "统计"; this.panelControl2.BorderStyle = BorderStyles.NoBorder; this.panelControl2.Controls.Add(this.xtraTabControl1); this.panelControl2.Location = new Point(7, 24); this.panelControl2.Name = "panelControl2"; this.panelControl2.Size = new Size(364, 151); this.panelControl2.TabIndex = 1; this.xtraTabControl1.Location = new Point(3, 3); this.xtraTabControl1.Name = "xtraTabControl1"; this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1; this.xtraTabControl1.Size = new Size(237, 145); this.xtraTabControl1.TabIndex = 0; this.xtraTabControl1.TabPages.AddRange(new XtraTabPage[] { this.xtraTabPage1, this.xtraTabPage2, this.xtraTabPage3 }); this.xtraTabPage1.Controls.Add(this.txtStddevR); this.xtraTabPage1.Controls.Add(this.txtMeanR); this.xtraTabPage1.Controls.Add(this.txtMaxR); this.xtraTabPage1.Controls.Add(this.txtMinR); this.xtraTabPage1.Controls.Add(this.labelControl6); this.xtraTabPage1.Controls.Add(this.labelControl5); this.xtraTabPage1.Controls.Add(this.labelControl4); this.xtraTabPage1.Controls.Add(this.labelControl3); this.xtraTabPage1.Name = "xtraTabPage1"; this.xtraTabPage1.Size = new Size(228, 113); this.xtraTabPage1.Text = "红(Red)"; this.txtStddevR.Location = new Point(85, 82); this.txtStddevR.Name = "txtStddevR"; this.txtStddevR.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtStddevR.Size = new Size(100, 21); this.txtStddevR.TabIndex = 1; this.txtMeanR.Location = new Point(85, 56); this.txtMeanR.Name = "txtMeanR"; this.txtMeanR.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMeanR.Size = new Size(100, 21); this.txtMeanR.TabIndex = 1; this.txtMaxR.Location = new Point(85, 29); this.txtMaxR.Name = "txtMaxR"; this.txtMaxR.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMaxR.Size = new Size(100, 21); this.txtMaxR.TabIndex = 1; this.txtMinR.Location = new Point(85, 4); this.txtMinR.Name = "txtMinR"; this.txtMinR.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMinR.Size = new Size(100, 21); this.txtMinR.TabIndex = 1; this.labelControl6.Location = new Point(9, 85); this.labelControl6.Name = "labelControl6"; this.labelControl6.Size = new Size(60, 14); this.labelControl6.TabIndex = 0; this.labelControl6.Text = "标准偏差:"; this.labelControl5.Location = new Point(9, 59); this.labelControl5.Name = "labelControl5"; this.labelControl5.Size = new Size(48, 14); this.labelControl5.TabIndex = 0; this.labelControl5.Text = "平均值:"; this.labelControl4.Location = new Point(9, 32); this.labelControl4.Name = "labelControl4"; this.labelControl4.Size = new Size(48, 14); this.labelControl4.TabIndex = 0; this.labelControl4.Text = "最大值:"; this.labelControl3.Location = new Point(9, 5); this.labelControl3.Name = "labelControl3"; this.labelControl3.Size = new Size(48, 14); this.labelControl3.TabIndex = 0; this.labelControl3.Text = "最小值:"; this.xtraTabPage2.Controls.Add(this.txtStddevG); this.xtraTabPage2.Controls.Add(this.txtMeanG); this.xtraTabPage2.Controls.Add(this.txtMaxG); this.xtraTabPage2.Controls.Add(this.txtMinG); this.xtraTabPage2.Controls.Add(this.labelControl7); this.xtraTabPage2.Controls.Add(this.labelControl8); this.xtraTabPage2.Controls.Add(this.labelControl9); this.xtraTabPage2.Controls.Add(this.labelControl10); this.xtraTabPage2.Name = "xtraTabPage2"; this.xtraTabPage2.Size = new Size(228, 113); this.xtraTabPage2.Text = "绿(Green)"; this.txtStddevG.Location = new Point(85, 82); this.txtStddevG.Name = "txtStddevG"; this.txtStddevG.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtStddevG.Size = new Size(100, 21); this.txtStddevG.TabIndex = 6; this.txtMeanG.Location = new Point(85, 56); this.txtMeanG.Name = "txtMeanG"; this.txtMeanG.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMeanG.Size = new Size(100, 21); this.txtMeanG.TabIndex = 7; this.txtMaxG.Location = new Point(85, 29); this.txtMaxG.Name = "txtMaxG"; this.txtMaxG.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMaxG.Size = new Size(100, 21); this.txtMaxG.TabIndex = 8; this.txtMinG.Location = new Point(85, 4); this.txtMinG.Name = "txtMinG"; this.txtMinG.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMinG.Size = new Size(100, 21); this.txtMinG.TabIndex = 9; this.labelControl7.Location = new Point(9, 85); this.labelControl7.Name = "labelControl7"; this.labelControl7.Size = new Size(60, 14); this.labelControl7.TabIndex = 3; this.labelControl7.Text = "标准偏差:"; this.labelControl8.Location = new Point(9, 59); this.labelControl8.Name = "labelControl8"; this.labelControl8.Size = new Size(48, 14); this.labelControl8.TabIndex = 2; this.labelControl8.Text = "平均值:"; this.labelControl9.Location = new Point(9, 32); this.labelControl9.Name = "labelControl9"; this.labelControl9.Size = new Size(48, 14); this.labelControl9.TabIndex = 4; this.labelControl9.Text = "最大值:"; this.labelControl10.Location = new Point(9, 5); this.labelControl10.Name = "labelControl10"; this.labelControl10.Size = new Size(48, 14); this.labelControl10.TabIndex = 5; this.labelControl10.Text = "最小值:"; this.xtraTabPage3.Controls.Add(this.txtStddevB); this.xtraTabPage3.Controls.Add(this.txtMeanB); this.xtraTabPage3.Controls.Add(this.txtMaxB); this.xtraTabPage3.Controls.Add(this.txtMinB); this.xtraTabPage3.Controls.Add(this.labelControl11); this.xtraTabPage3.Controls.Add(this.labelControl12); this.xtraTabPage3.Controls.Add(this.labelControl13); this.xtraTabPage3.Controls.Add(this.labelControl14); this.xtraTabPage3.Name = "xtraTabPage3"; this.xtraTabPage3.Size = new Size(228, 113); this.xtraTabPage3.Text = "蓝(Blue)"; this.txtStddevB.Location = new Point(85, 82); this.txtStddevB.Name = "txtStddevB"; this.txtStddevB.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtStddevB.Size = new Size(100, 21); this.txtStddevB.TabIndex = 6; this.txtMeanB.Location = new Point(85, 56); this.txtMeanB.Name = "txtMeanB"; this.txtMeanB.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMeanB.Size = new Size(100, 21); this.txtMeanB.TabIndex = 7; this.txtMaxB.Location = new Point(85, 29); this.txtMaxB.Name = "txtMaxB"; this.txtMaxB.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMaxB.Size = new Size(100, 21); this.txtMaxB.TabIndex = 8; this.txtMinB.Location = new Point(85, 4); this.txtMinB.Name = "txtMinB"; this.txtMinB.Properties.EditFormat.FormatType = FormatType.Numeric; this.txtMinB.Size = new Size(100, 21); this.txtMinB.TabIndex = 9; this.labelControl11.Location = new Point(9, 85); this.labelControl11.Name = "labelControl11"; this.labelControl11.Size = new Size(60, 14); this.labelControl11.TabIndex = 3; this.labelControl11.Text = "标准偏差:"; this.labelControl12.Location = new Point(9, 59); this.labelControl12.Name = "labelControl12"; this.labelControl12.Size = new Size(48, 14); this.labelControl12.TabIndex = 2; this.labelControl12.Text = "平均值:"; this.labelControl13.Location = new Point(9, 32); this.labelControl13.Name = "labelControl13"; this.labelControl13.Size = new Size(48, 14); this.labelControl13.TabIndex = 4; this.labelControl13.Text = "最大值:"; this.labelControl14.Location = new Point(9, 5); this.labelControl14.Name = "labelControl14"; this.labelControl14.Size = new Size(48, 14); this.labelControl14.TabIndex = 5; this.labelControl14.Text = "最小值:"; this.memoEdit1.EditValue = "使用整个栅格数据集的统计数据。\r\n收集来自当前显示范围内使用所有可见的像素值的统计资料。"; this.memoEdit1.Location = new Point(5, 24); this.memoEdit1.Name = "memoEdit1"; this.memoEdit1.Properties.Appearance.BackColor = Color.FromArgb(247, 245, 241); this.memoEdit1.Properties.Appearance.Options.UseBackColor = true; this.memoEdit1.Properties.BorderStyle = BorderStyles.NoBorder; this.memoEdit1.Properties.ReadOnly = true; this.memoEdit1.Properties.ScrollBars = ScrollBars.None; this.memoEdit1.Size = new Size(356, 35); this.memoEdit1.TabIndex = 3; this.cmbStretchStatsType.Location = new Point(174, 0); this.cmbStretchStatsType.Name = "cmbStretchStatsType"; this.cmbStretchStatsType.Properties.Buttons.AddRange(new EditorButton[] { new EditorButton(ButtonPredefines.Combo) }); this.cmbStretchStatsType.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; this.cmbStretchStatsType.Size = new Size(169, 21); this.cmbStretchStatsType.TabIndex = 0; this.cmbStretchStatsType.SelectedIndexChanged += new System.EventHandler(this.InvokeEditValueChanged); this.cmbStretchStatsType.SelectedValueChanged += new System.EventHandler(this.cmbStretchStatsType_SelectedValueChanged); this.panelControl1.BorderStyle = BorderStyles.NoBorder; this.panelControl1.Controls.Add(this.labelControl2); this.panelControl1.Controls.Add(this.memoEdit2); this.panelControl1.Location = new Point(7, 58); this.panelControl1.Name = "panelControl1"; this.panelControl1.Size = new Size(364, 115); this.panelControl1.TabIndex = 1; this.labelControl2.Location = new Point(7, 7); this.labelControl2.Name = "labelControl2"; this.labelControl2.Size = new Size(108, 14); this.labelControl2.TabIndex = 1; this.labelControl2.Text = "当前使用的统计信息"; this.memoEdit2.Location = new Point(3, 29); this.memoEdit2.Name = "memoEdit2"; this.memoEdit2.Properties.ReadOnly = true; this.memoEdit2.Size = new Size(261, 79); this.memoEdit2.TabIndex = 0; this.textEdit3.Location = new Point(319, 77); this.textEdit3.Name = "textEdit3"; this.textEdit3.Properties.Mask.EditMask = "n0"; this.textEdit3.Properties.Mask.MaskType = MaskType.Numeric; this.textEdit3.Size = new Size(30, 21); this.textEdit3.TabIndex = 4; this.textEdit3.EditValueChanged += new System.EventHandler(this.InvokeEditValueChanged); this.textEdit2.Location = new Point(283, 77); this.textEdit2.Name = "textEdit2"; this.textEdit2.Properties.Mask.EditMask = "n0"; this.textEdit2.Properties.Mask.MaskType = MaskType.Numeric; this.textEdit2.Size = new Size(30, 21); this.textEdit2.TabIndex = 4; this.textEdit2.EditValueChanged += new System.EventHandler(this.InvokeEditValueChanged); this.textEdit1.Location = new Point(247, 77); this.textEdit1.Name = "textEdit1"; this.textEdit1.Properties.Mask.EditMask = "n0"; this.textEdit1.Properties.Mask.MaskType = MaskType.Numeric; this.textEdit1.Size = new Size(30, 21); this.textEdit1.TabIndex = 4; this.textEdit1.EditValueChanged += new System.EventHandler(this.InvokeEditValueChanged); this.chkUseGamma.Location = new Point(7, 79); this.chkUseGamma.Name = "chkUseGamma"; this.chkUseGamma.Properties.Caption = "应用Gamma拉伸"; this.chkUseGamma.Size = new Size(120, 19); this.chkUseGamma.TabIndex = 3; this.chkUseGamma.CheckedChanged += new System.EventHandler(this.InvokeEditValueChanged); this.chkUseGamma.CheckStateChanged += new System.EventHandler(this.chkUseGamma_CheckStateChanged); this.chkInvert.Location = new Point(295, 52); this.chkInvert.Name = "chkInvert"; this.chkInvert.Properties.Caption = "反转"; this.chkInvert.Size = new Size(54, 19); this.chkInvert.TabIndex = 2; this.chkInvert.CheckedChanged += new System.EventHandler(this.InvokeEditValueChanged); this.labelControl1.Location = new Point(15, 27); this.labelControl1.Name = "labelControl1"; this.labelControl1.Size = new Size(60, 14); this.labelControl1.TabIndex = 1; this.labelControl1.Text = "拉伸类型:"; this.cmbStretchType.Location = new Point(81, 24); this.cmbStretchType.Name = "cmbStretchType"; this.cmbStretchType.Properties.Buttons.AddRange(new EditorButton[] { new EditorButton(ButtonPredefines.Combo) }); this.cmbStretchType.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; this.cmbStretchType.Size = new Size(267, 21); this.cmbStretchType.TabIndex = 0; this.cmbStretchType.SelectedValueChanged += new System.EventHandler(this.cmbStretchType_SelectedValueChanged); this.txtStandardDeviationsParam.Location = new Point(118, 52); this.txtStandardDeviationsParam.Name = "txtStandardDeviationsParam"; this.txtStandardDeviationsParam.Properties.Mask.EditMask = "n0"; this.txtStandardDeviationsParam.Properties.Mask.MaskType = MaskType.Numeric; this.txtStandardDeviationsParam.Size = new Size(30, 21); this.txtStandardDeviationsParam.TabIndex = 4; this.txtStandardDeviationsParam.EditValueChanged += new System.EventHandler(this.InvokeEditValueChanged); this.labelControl15.Location = new Point(103, 55); this.labelControl15.Name = "labelControl15"; this.labelControl15.Size = new Size(11, 14); this.labelControl15.TabIndex = 6; this.labelControl15.Text = "n:"; base.AutoScaleDimensions = new SizeF(6f, 12f); base.AutoScaleMode = AutoScaleMode.Font; base.Controls.Add(this.groupControl1); base.Name = "UCRasterStretchSet"; base.Size = new Size(403, 296); ((ISupportInitialize)this.groupControl1).EndInit(); this.groupControl1.ResumeLayout(false); this.groupControl1.PerformLayout(); ((ISupportInitialize)this.groupControl2).EndInit(); this.groupControl2.ResumeLayout(false); ((ISupportInitialize)this.panelControl2).EndInit(); this.panelControl2.ResumeLayout(false); ((ISupportInitialize)this.xtraTabControl1).EndInit(); this.xtraTabControl1.ResumeLayout(false); this.xtraTabPage1.ResumeLayout(false); this.xtraTabPage1.PerformLayout(); ((ISupportInitialize)this.txtStddevR.Properties).EndInit(); ((ISupportInitialize)this.txtMeanR.Properties).EndInit(); ((ISupportInitialize)this.txtMaxR.Properties).EndInit(); ((ISupportInitialize)this.txtMinR.Properties).EndInit(); this.xtraTabPage2.ResumeLayout(false); this.xtraTabPage2.PerformLayout(); ((ISupportInitialize)this.txtStddevG.Properties).EndInit(); ((ISupportInitialize)this.txtMeanG.Properties).EndInit(); ((ISupportInitialize)this.txtMaxG.Properties).EndInit(); ((ISupportInitialize)this.txtMinG.Properties).EndInit(); this.xtraTabPage3.ResumeLayout(false); this.xtraTabPage3.PerformLayout(); ((ISupportInitialize)this.txtStddevB.Properties).EndInit(); ((ISupportInitialize)this.txtMeanB.Properties).EndInit(); ((ISupportInitialize)this.txtMaxB.Properties).EndInit(); ((ISupportInitialize)this.txtMinB.Properties).EndInit(); ((ISupportInitialize)this.memoEdit1.Properties).EndInit(); ((ISupportInitialize)this.cmbStretchStatsType.Properties).EndInit(); ((ISupportInitialize)this.panelControl1).EndInit(); this.panelControl1.ResumeLayout(false); this.panelControl1.PerformLayout(); ((ISupportInitialize)this.memoEdit2.Properties).EndInit(); ((ISupportInitialize)this.textEdit3.Properties).EndInit(); ((ISupportInitialize)this.textEdit2.Properties).EndInit(); ((ISupportInitialize)this.textEdit1.Properties).EndInit(); ((ISupportInitialize)this.chkUseGamma.Properties).EndInit(); ((ISupportInitialize)this.chkInvert.Properties).EndInit(); ((ISupportInitialize)this.cmbStretchType.Properties).EndInit(); ((ISupportInitialize)this.txtStandardDeviationsParam.Properties).EndInit(); base.ResumeLayout(false); } } }