Example #1
0
        private void InitialColorRamp(esriSymbologyStyleClass styleClass)
        {
            if (m_pRasterRenderer is IRasterStretchColorRampRenderer)
            {
                //得到当前栅格拉伸渲染样式
                IRasterStretchColorRampRenderer rasterStrecthcRenderer = m_pRasterRenderer as IRasterStretchColorRampRenderer;

                //从文件打开渲染库
                string sInstall = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\Style\ESRI.ServerStyle";
                axSymbologyControl1.LoadStyleFile(sInstall);
                axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps;
                pSymbolClass = axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassColorRamps);

                IStyleGalleryItem pStyleGalleryItem = new ServerStyleGalleryItem();
                pStyleGalleryItem.Item = rasterStrecthcRenderer.ColorRamp;
                pSymbolClass.AddItem(pStyleGalleryItem, 0);

                //将渲染库中所有渲染方式添加到列表中
                for (int i = 0; i < pSymbolClass.ItemCount; i++)
                {
                    stdole.IPictureDisp pPicture = pSymbolClass.PreviewItem(pSymbolClass.GetItem(i), cmbColorRamp.Width, cmbColorRamp.Height);
                    Image image = Image.FromHbitmap(new System.IntPtr(pPicture.Handle));
                    cmbColorRamp.Items.Add(image);
                }
                if (pSymbolClass.ItemCount > 0)
                {
                    pSymbolClass.SelectItem(0);
                }
                if (cmbColorRamp.Items.Count > 0)
                {
                    cmbColorRamp.SelectedIndex = 0;
                }
            }
        }
Example #2
0
        //返回样式图片
        public void GetImageByGiveSymbolBeforeSelectItem(esriSymbologyStyleClass styleClass, ISymbol symbol)
        {
            axSymbologyControl.StyleClass = styleClass;
            ISymbologyStyleClass symbologyStyleClass = axSymbologyControl.GetStyleClass(styleClass);

            IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem();

            styleGalleryItem.Item = symbol;

            stdole.IPictureDisp  picture = symbologyStyleClass.PreviewItem(styleGalleryItem, ImagePreview.Width, ImagePreview.Height);
            System.Drawing.Image pImage  = System.Drawing.Image.FromHbitmap(new System.IntPtr(picture.Handle));
            ImagePreview.Image = pImage;
        }
Example #3
0
 private void btnok_Click(object sender, EventArgs e)
 {
     if (pSymbolOK != null)
     {
         IStyleGalleryItem currentStyleGalleryItem = new ServerStyleGalleryItem();
         currentStyleGalleryItem.Item = pSymbolOK;
         psymbologyStyleClass.AddItem(currentStyleGalleryItem, 0);
         psymbologyStyleClass.SelectItem(0);
         this.Close();
     }
     else
     {
     }
 }
Example #4
0
        //选择样式前返回面图片
        public Image GetImageByGiveAreaSymbolBeforeSelectItem(esriSymbologyStyleClass styleClass, IAreaPatch symbol, int width, int height)
        {
            axSymbologyCtlFrame.StyleClass = styleClass;
            ISymbologyStyleClass symbologyStyleClass = axSymbologyCtlFrame.GetStyleClass(styleClass);

            IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem();

            styleGalleryItem.Item = symbol;
            symbologyStyleClass.AddItem(styleGalleryItem, 0);
            symbologyStyleClass.SelectItem(0);
            stdole.IPictureDisp  picture = symbologyStyleClass.PreviewItem(pStyleGalleryItem, width, height);
            System.Drawing.Image image   = System.Drawing.Image.FromHbitmap(new System.IntPtr(picture.Handle));
            return(image);
        }
Example #5
0
        /// <summary>
        /// 根据符号样式类别初始化SymbologyControl,如果图层已有符号,则把符号作为SymbologyControl的第一个符号并选中
        /// </summary>
        /// <param name="eSymbologyStyleClass">符号样式类别枚举(点/线/面/标注/文本/指北针/比例尺等样式类别)</param>
        private void SetFeatureClassStyle(esriSymbologyStyleClass eSymbologyStyleClass)
        {
            SymbologyControl.StyleClass = eSymbologyStyleClass;//获取指定类别的符号样式库,即当前是点/线/面/标注/文本/指北针/比例尺等符号库的哪一个符号库
            var symbologyStyleClass = SymbologyControl.GetStyleClass(eSymbologyStyleClass);

            if (LegendClass != null)
            {
                StyleGalleryItem = new ServerStyleGalleryItem {
                    Name = "当前符号", Item = LegendClass.Symbol
                };
                symbologyStyleClass.AddItem(StyleGalleryItem, 0);
            }
            symbologyStyleClass.SelectItem(0);
        }
Example #6
0
        /// <summary>
        /// ���ú�SymbologyControl��StyleClass,�����ͼ��,�ѵ�ǰ��TOCͼ���ķ�����ӵ���ǰSymbologyStyleClass��ȥ,����֮����ѡ��״̬
        /// </summary>
        /// <param name="symbologyStyleClass"></param>
        private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass)
        {
            this.axSymbologyControl.StyleClass = symbologyStyleClass;
            ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl.GetStyleClass(symbologyStyleClass);

            if (this.pLegendClass != null)
            {
                IStyleGalleryItem currentStyleGalleryItem = new ServerStyleGalleryItem();
                currentStyleGalleryItem.Name = "Current Symbol";
                currentStyleGalleryItem.Item = pLegendClass.Symbol;
                pSymbologyStyleClass.AddItem(currentStyleGalleryItem, 0);
                this.pStyleGalleryItem = currentStyleGalleryItem;
            }
            pSymbologyStyleClass.SelectItem(0);
        }
Example #7
0
        private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass)
        {
            this.axSymbologyControl1.StyleClass = symbologyStyleClass;
            ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl1.
                                                        GetStyleClass(symbologyStyleClass);

            if (this.pLegendClass  !=  null)   
            {
                 
                    IStyleGalleryItem currentStyleGalleryItem  =  new ServerStyleGalleryItem();       

                currentStyleGalleryItem.Name  =   "当前符号";  
                currentStyleGalleryItem.Item  =  pLegendClass.Symbol;      
                pSymbologyStyleClass.AddItem(currentStyleGalleryItem, 0);       
                this.pStyleGalleryItem  =  currentStyleGalleryItem;  
            }  
            pSymbologyStyleClass.SelectItem(0);
        }
        public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, ISymbol symbol)
        {
            m_styleGalleryItem = null;

            //Get and set the style class
            axSymbologyControl1.StyleClass = styleClass;
            ISymbologyStyleClass symbologyStyleClass = axSymbologyControl1.GetStyleClass(styleClass);

            //Create a new server style gallery item with its style set
            IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem();

            styleGalleryItem.Item = symbol;
            styleGalleryItem.Name = "mySymbol";

            //Add the item to the style class and select it
            symbologyStyleClass.AddItem(styleGalleryItem, 0);
            symbologyStyleClass.SelectItem(0);

            //Show the modal form
            this.ShowDialog();

            return(m_styleGalleryItem);
        }
Example #9
0
        //选择样式前返回图片
        public Image GetImageByGiveSymbolBeforeSelectItem(esriSymbologyStyleClass styleClass, ISymbol symbol, int width, int height)
        {
            try
            {
                axSymbologyControl.StyleClass = styleClass;
                ISymbologyStyleClass symbologyStyleClass = axSymbologyControl.GetStyleClass(styleClass);

                IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem();

                styleGalleryItem.Item = symbol;
                //// styleGalleryItem.Name = "DefaultSymbol";
                symbologyStyleClass.AddItem(styleGalleryItem, 0);
                symbologyStyleClass.SelectItem(0);
                stdole.IPictureDisp  picture = symbologyStyleClass.PreviewItem(pStyleGalleryItem, width, height);
                System.Drawing.Image image   = System.Drawing.Image.FromHbitmap(new System.IntPtr(picture.Handle));
                return(image);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.StackTrace);
                return(null);
            }
        }
Example #10
0
        public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, ISymbol symbol)
        {
            
            this._styleGalleryItem = null;

            //Get and set the style class
            this._axSymCtrl.StyleClass = styleClass;
            ISymbologyStyleClass symbologyStyleClass = this._axSymCtrl.GetStyleClass(styleClass);

            //Create a new server style gallery item with its style set
            IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem();
            styleGalleryItem.Item = symbol;
            styleGalleryItem.Name = "Current";

            //Add the item to the style class and select it
            symbologyStyleClass.AddItem(styleGalleryItem, 0);
            symbologyStyleClass.SelectItem(0);

            //Show the modal form
            this.ShowDialog();

            return this._styleGalleryItem;
        }
Example #11
0
        private void SetFeatureClassStyle(esriSymbologyStyleClass styleClass, ISymbol symbol)
        {
            m_styleGalleryItem = null;

              //Get and set the style class
              m_axSymbologyControl.StyleClass = styleClass;
              ISymbologyStyleClass symbologyStyleClass = m_axSymbologyControl.GetStyleClass(styleClass);

              //Create a new server style gallery item with its style set
              IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem();
              styleGalleryItem.Item = symbol;
              styleGalleryItem.Name = "mySymbol";

              //Add the item to the style class and select it
              symbologyStyleClass.AddItem(styleGalleryItem, 0);
              symbologyStyleClass.SelectItem(0);
        }
 /// <summary>
 /// 初始化SymbologyControl的StyleClass,图层如果已有符号,则把符号添加到SymbologyControl中的第一个符号,并选中
 /// </summary>
 /// <param name="symbologyStyleClass"></param>
 private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass)
 {
     this.axSymbologyControl.StyleClass = symbologyStyleClass;
     ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl.GetStyleClass(symbologyStyleClass);
     if (this.pLegendClass != null)
     {
         IStyleGalleryItem currentStyleGalleryItem = new ServerStyleGalleryItem();
         currentStyleGalleryItem.Name = "当前符号";
         currentStyleGalleryItem.Item = pLegendClass.Symbol;
         pSymbologyStyleClass.AddItem(currentStyleGalleryItem, 0);
         this.pStyleGalleryItem = currentStyleGalleryItem;
     }
     pSymbologyStyleClass.SelectItem(0);
 }
Example #13
0
        /// <summary>
        /// 初始化与拉伸相关控件
        /// </summary>
        private void initstreach()
        {
            string sInstall = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\Style\ESRI.ServerStyle";

            axSymbologyControl1.LoadStyleFile(sInstall);
            axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps;
            pSymbolClass           = axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassColorRamps);
            pRasterRender          = pRLayer.Renderer;
            pRasterRenderColorRamp = pRasterRender as IRasterRendererColorRamp;
            //生成色度带
            if (pRasterRender is IRasterStretchColorRampRenderer)
            {
                IStyleGalleryItem pStyleGalleryItem = new ServerStyleGalleryItem();
                pStyleGalleryItem.Item = pRasterRenderColorRamp.ColorRamp;
                pSymbolClass.AddItem(pStyleGalleryItem, 0);
                pSymbolClass.SelectItem(0);
            }
            for (int i = 0; i < pSymbolClass.get_ItemCount(pSymbolClass.StyleCategory); i++)
            {
                stdole.IPictureDisp pPicture = pSymbolClass.PreviewItem(pSymbolClass.GetItem(i), cmbColorRamp.Width, cmbColorRamp.Height);
                Image image = Image.FromHbitmap(new System.IntPtr(pPicture.Handle));
                cmbColorRamp.Items.Add(image);
            }

            if (cmbColorRamp.Items.Count > 0)
            {
                cmbColorRamp.SelectedIndex = 0;
            }
            //判断拉伸方式和拉伸波段
            if (pRasterRender is IRasterStretchColorRampRenderer)
            {
                pSCRampRender  = pRasterRender as IRasterStretchColorRampRenderer;
                pRasterStretch = pRasterRender as IRasterStretch;
                int bandindex = pSCRampRender.BandIndex;
                cmbBand.SelectedIndex = bandindex;
                if (pRasterStretch.StretchType == esriRasterStretchTypesEnum.esriRasterStretch_Custom)
                {
                    cmbStreach.SelectedIndex = 1;
                }
                else if (pRasterStretch.StretchType == esriRasterStretchTypesEnum.esriRasterStretch_MinimumMaximum)
                {
                    cmbStreach.SelectedIndex = 2;
                }
                else if (pRasterStretch.StretchType == esriRasterStretchTypesEnum.esriRasterStretch_StandardDeviations)
                {
                    cmbStreach.SelectedIndex = 3;
                }
                else if (pRasterStretch.StretchType == esriRasterStretchTypesEnum.esriRasterStretch_HistogramEqualize)
                {
                    cmbStreach.SelectedIndex = 4;
                }
                else
                {
                    cmbStreach.SelectedIndex = 0;
                }

                lblminstr.Text = pSCRampRender.LabelLow;
                lblmaxstr.Text = pSCRampRender.LabelHigh;
                txtmin.Text    = pSCRampRender.LabelLow;
                txtmax.Text    = pSCRampRender.LabelHigh;
                if (pRasterStretch.StretchType == esriRasterStretchTypesEnum.esriRasterStretch_MinimumMaximum)
                {
                    txtmax.Visible = true;
                    txtmin.Visible = false;
                }
            }
            else
            {
                cmbBand.SelectedIndex    = 0;
                cmbStreach.SelectedIndex = 0;
            }
            isminmax = true;
        }