Esempio n. 1
0
        private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass)
        {
            this.axSymbologyControl.StyleClass = symbologyStyleClass;
            ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl.GetStyleClass(symbologyStyleClass);

            pSymbologyStyleClass.SelectItem(0);
        }
Esempio n. 2
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;
                }
            }
        }
        public GetSymbolByControl(esriSymbologyStyleClass styleClass)
        {
            InitializeComponent();

            //禁用Glass主题
            this.EnableGlass = false;
            //不显示最大化最小化按钮
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            //
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
            //去除图标
            this.ShowIcon = false;

            gStyleClass = styleClass;
            //@"C:\Program Files (x86)\ArcGIS\Desktop10.2\Styles\ESRI_Optimized.ServerStyle"
            //Get the ArcGIS install location C:\Program Files (x86)\ArcGIS\Engine10.2\Styles

            string sInstall = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path;
            //Load the ESRI.ServerStyle file into the SymbologyControl
            axSymbologyControl1.LoadStyleFile(sInstall + "Styles\\ESRI_Optimized.ServerStyle");
            //Set the style class
            //axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps;
            axSymbologyControl1.StyleClass = gStyleClass;

            //Select the color ramp item
            //axSymbologyControl1.GetStyleClass(axSymbologyControl1.StyleClass).SelectItem(0);
            stylesPath = sInstall + "Styles";
            //cbxStyles.Items.Clear();
            cbxStylesAddItems(stylesPath);
        }
Esempio n. 4
0
 public FormSymbologySelector(FormMainOperation formMainOperation, esriSymbologyStyleClass esriSymbologyStyleClass)
 {
     InitializeComponent();
     m_FrmMainOper             = formMainOperation;
     Ctrl_Symbology.StyleClass = esriSymbologyStyleClass;
     Ctrl_Symbology.Refresh();
 }
Esempio n. 5
0
        public GetSymbolByControl(esriSymbologyStyleClass styleClass)
        {
            InitializeComponent();

            //禁用Glass主题
            this.EnableGlass = false;
            //不显示最大化最小化按钮
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            //
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
            //去除图标
            this.ShowIcon = false;

            gStyleClass = styleClass;
            //@"C:\Program Files (x86)\ArcGIS\Desktop10.2\Styles\ESRI_Optimized.ServerStyle"
            //Get the ArcGIS install location C:\Program Files (x86)\ArcGIS\Engine10.2\Styles

            string sInstall = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path;

            //Load the ESRI.ServerStyle file into the SymbologyControl
            axSymbologyControl1.LoadStyleFile(sInstall + "Styles\\ESRI_Optimized.ServerStyle");
            //Set the style class
            //axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps;
            axSymbologyControl1.StyleClass = gStyleClass;

            //Select the color ramp item
            //axSymbologyControl1.GetStyleClass(axSymbologyControl1.StyleClass).SelectItem(0);
            stylesPath = sInstall + "Styles";
            //cbxStyles.Items.Clear();
            cbxStylesAddItems(stylesPath);
        }
        private ISymbol GetSymbolByControl(ISymbol symbolType)
        {
            ISymbol                 symbol           = null;
            IStyleGalleryItem       styleGalleryItem = null;
            esriSymbologyStyleClass styleClass       = esriSymbologyStyleClass.
                                                       esriStyleClassMarkerSymbols;

            if (symbolType is IMarkerSymbol)
            {
                styleClass = esriSymbologyStyleClass.esriStyleClassMarkerSymbols;
            }
            if (symbolType is ILineSymbol)
            {
                styleClass = esriSymbologyStyleClass.esriStyleClassLineSymbols;
            }
            if (symbolType is IFillSymbol)
            {
                styleClass = esriSymbologyStyleClass.esriStyleClassFillSymbols;
            }

            GetSymbol symbolForm = new GetSymbol(styleClass);

            symbolForm.ShowDialog();
            styleGalleryItem = symbolForm.m_styleGalleryItem;
            if (styleGalleryItem == null)
            {
                return(null);
            }
            symbol = styleGalleryItem.Item as ISymbol;
            symbolForm.Dispose();
            this.Activate();
            return(symbol);
        }
Esempio n. 7
0
        /// <summary>
        /// 初始化点、线、面GroupBox中的项
        /// </summary>
        /// <param name="vSymbologyStyleClass"></param>
        private void InitialGroupBox(esriSymbologyStyleClass vSymbologyStyleClass)
        {
            switch (vSymbologyStyleClass)
            {
            case esriSymbologyStyleClass.esriStyleClassMarkerSymbols:
                this.gbPoint.Visible = true;
                this.gbLine.Visible  = false;
                this.gbArea.Visible  = false;
                this.gbPoint.Left    = this.gbArea.Left;
                this.gbPoint.Top     = this.gbArea.Top;
                break;

            case esriSymbologyStyleClass.esriStyleClassLineSymbols:
                this.gbPoint.Visible = false;
                this.gbLine.Visible  = true;
                this.gbArea.Visible  = false;
                this.gbLine.Left     = this.gbArea.Left;
                this.gbLine.Top      = this.gbArea.Top;
                break;

            case esriSymbologyStyleClass.esriStyleClassFillSymbols:
                this.gbPoint.Visible = false;
                this.gbLine.Visible  = false;
                this.gbArea.Visible  = true;
                //this.gbArea.Left = this.gbPoint.Left;
                //this.gbArea.Top = this.gbPoint.Top;
                break;

            default:
                break;
            }
        }
Esempio n. 8
0
        /// <summary>
        /// 从符号库ServerStyle选择符号
        /// </summary>
        /// <param name="styleClass">符号类型</param>
        /// <param name="pSymbol">输入的符号,可以是空</param>
        /// <returns></returns>
        public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, object pSymbol)
        {
            SetGroupVisible(5);
            m_pStyle = styleClass;
            axSymbologyControl1.StyleClass = m_pStyle;
            ISymbologyStyleClass symbologyStyleClass = axSymbologyControl1.GetStyleClass(styleClass);

            if (pSymbol != null)
            {
                try
                {
                    m_styleGalleryItem      = new ServerStyleGalleryItemClass();
                    m_styleGalleryItem.Item = pSymbol;
                    m_styleGalleryItem.Name = "tempSymbo";

                    PreviewImage(m_styleGalleryItem);
                    symbologyStyleClass.AddItem(m_styleGalleryItem, 0);
                    symbologyStyleClass.SelectItem(0);
                }
                catch
                {
                }
            }
            this.ShowDialog();

            return(m_styleGalleryItem);
        }
Esempio n. 9
0
 public FrmScale(IHookHelper hookHelper, esriSymbologyStyleClass pStyleClass)
 {
     InitializeComponent();
     this.EnableGlass = false;
     m_hookHelper     = hookHelper;
     StyleClass       = pStyleClass;
 }
Esempio n. 10
0
        /// <summary>
        /// 初始化SymbologyControl的StyleClass,图层如果已有符号,则把符号添加到SymbologyControl中的第一个符号,并选中
        /// </summary>
        /// <param name="symbologyStyleClass"></param>
        private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass)
        {
            axSymbologyCtlFrame.StyleClass = symbologyStyleClass;
            ISymbologyStyleClass pSymbologyStyleClass = axSymbologyCtlFrame.GetStyleClass(symbologyStyleClass);

            pSymbologyStyleClass.SelectItem(0);
        }
 private void SymbologyForm_Load(object sender, EventArgs e)
 {
     switch (((IFeatureLayer)pLayer).FeatureClass.ShapeType)  //判断图层中要素类的图形类型,不同类型显示的调节值的控件不同
     {
         case esriGeometryType.esriGeometryPoint:  //点
             pStyleClass = esriSymbologyStyleClass.esriStyleClassMarkerSymbols;
             lbColor.Visible = true;
             lbWidth.Visible = true;
             lbWidth.Text = "符号大小";
             //lbAngle.Visible = true;
             //btColor.Visible = true;
             nudWidth.Visible = true;
             cbColor.Visible = true;
             //nudAngle.Visible = true;
             break;
         case esriGeometryType.esriGeometryPolyline:  //线
             pStyleClass = esriSymbologyStyleClass.esriStyleClassLineSymbols;
             lbColor.Visible = true;
             lbColor.Location = System.Drawing.Point.Add(lbColor.Location, new Size(0, 12));
             lbWidth.Visible = true;
             lbWidth.Location = System.Drawing.Point.Add(lbWidth.Location, new Size(0, 24));
             lbWidth.Text = "线符号粗细";
             //btColor.Visible = true;
             cbColor.Visible = true;
             //btColor.Location = System.Drawing.Point.Add(btColor.Location, new Size(0, 12));
             cbColor.Location = System.Drawing.Point.Add(cbColor.Location, new Size(0, 12));
             nudWidth.Visible = true;
             nudWidth.Location = System.Drawing.Point.Add(nudWidth.Location, new Size(0, 24));
             break;
         case esriGeometryType.esriGeometryPolygon:  //面
             pStyleClass = esriSymbologyStyleClass.esriStyleClassFillSymbols;
             lbColor.Visible = true;
             lbWidth.Visible = true;
             lbWidth.Text = "框线宽度";
             lbOutlineColor.Visible = true;
             //btColor.Visible = true;
             //btOutlineColor.Visible = true;
             nudWidth.Visible = true;
             cbColor.Visible = true;
             cbOutlineColor.Visible = true;
             break;
         default:
             this.Close();
             break;
     }
     //ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path 可以获得 ArcGIS 的安装目录
     //获取 ESRI.ServerStyle 文件并加载入axSymbologyControl控件
     string stylePath = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path + @"Styles\ESRI.ServerStyle";
     if (!File.Exists(stylePath)) return;
     axSymbologyControl1.LoadStyleFile(stylePath);
     axSymbologyControl1.StyleClass = pStyleClass;  //将上面获得的 pStyleClass 赋给axSymbologyControl控件,点线面
     //新建符号实例,用当前图例的符号类型 赋值,并将其添加到axSymbologyControl中
     IStyleGalleryItem pCurrentStyleGalleryItem = new StyleGalleryItem();
     pCurrentStyleGalleryItem.Name = "当前符号";
     pCurrentStyleGalleryItem.Item = pLegendClass.Symbol;  
     ISymbologyStyleClass pSymbologyStyleClass = axSymbologyControl1.GetStyleClass(axSymbologyControl1.StyleClass);  //QI,加入这个新建项
     pSymbologyStyleClass.AddItem(pCurrentStyleGalleryItem, 0);
     pSymbologyStyleClass.SelectItem(0);     //设置为选中状态
 }
Esempio n. 12
0
 public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass)
 {
     m_styleGalleryItem            = null;
     axSymbologyControl.StyleClass = styleClass;
     axSymbologyControl.GetStyleClass(styleClass).UnselectItem();
     this.ShowDialog();
     return(m_styleGalleryItem);
 }
Esempio n. 13
0
 public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass)
 {
     m_styleGalleryItem = null;
     axSymbologyControl.StyleClass = styleClass;
     axSymbologyControl.GetStyleClass(styleClass).UnselectItem();
     this.ShowDialog();
     return m_styleGalleryItem;
 }
Esempio n. 14
0
 //简单渲染
 public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateSimpleRenderer(esriSymbologyStyleClass _SymbologyStyleClass)
 {
     ESRI.ArcGIS.Carto.ISimpleRenderer pSimpleRenderer = new ESRI.ArcGIS.Carto.SimpleRendererClass();
     pSimpleRenderer.Description = "";
     pSimpleRenderer.Label       = "";
     pSimpleRenderer.Symbol      = ModuleCommon.CreateSymbol(_SymbologyStyleClass);
     return(pSimpleRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer);
 }
Esempio n. 15
0
 public FrmSymbolFillSL(esriSymbologyStyleClass StyleClass, FrmSymbolFill frm, string str, string[] SymbolS)
 {
     InitializeComponent();
     this.EnableGlass = false;
     pStyleClass      = StyleClass;
     frmfill          = frm;
     strstyle         = str;
     SymbolStyle      = SymbolS;
 }
Esempio n. 16
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="EntranceSymbol">符号对象</param>
        /// <param name="SymbologyStyleClass">符号样式类</param>
        public FormSymbolSelector(ISymbol EntranceSymbol, esriSymbologyStyleClass SymbologyStyleClass)
        {
            InitializeComponent();
            IObjectCopy pObjectCopy = new ObjectCopyClass();

            InSymbol = pObjectCopy.Copy(EntranceSymbol) as ISymbol;
            CurrentSymbologyStyleClass = SymbologyStyleClass;
            currentStyleGalleryItem    = new ServerStyleGalleryItemClass();
            pOutlineSymbol             = new SimpleLineSymbolClass();
        }
Esempio n. 17
0
        //唯一值渲染
        public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateUVRenderer(esriSymbologyStyleClass _SymbologyStyleClass)
        {
            ESRI.ArcGIS.Carto.IUniqueValueRenderer pUVRenderer = new ESRI.ArcGIS.Carto.UniqueValueRendererClass();
            pUVRenderer.FieldCount = 0;

            pUVRenderer.DefaultLabel  = "<All Other Values>";
            pUVRenderer.ColorScheme   = "";
            pUVRenderer.DefaultSymbol = ModuleCommon.CreateSymbol(_SymbologyStyleClass);
            return(pUVRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer);
        }
Esempio n. 18
0
        //分级颜色渲染
        public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateBreakColorRenderer(esriSymbologyStyleClass _SymbologyStyleClass)
        {
            ESRI.ArcGIS.Carto.IClassBreaksRenderer pBreakRenderer = new ESRI.ArcGIS.Carto.ClassBreaksRendererClass();
            pBreakRenderer.Field            = "<NONE>";
            pBreakRenderer.MinimumBreak     = 0;
            pBreakRenderer.BreakCount       = 0;
            pBreakRenderer.BackgroundSymbol = null;
            ESRI.ArcGIS.Carto.IClassBreaksUIProperties pUIProp = pBreakRenderer as ESRI.ArcGIS.Carto.IClassBreaksUIProperties;
            pUIProp.ColorRamp = "";

            return(pBreakRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer);
        }
Esempio n. 19
0
        public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass)
        {
            //m_styleGalleryItem = null;
            _symbolStyle = styleClass;

            this.axSymbologyControl1.StyleClass = styleClass;
            this.axSymbologyControl1.GetStyleClass(styleClass).UnselectItem();

            //显示模式对话框
            this.ShowDialog();

            return(m_styleGalleryItem);
        }
Esempio n. 20
0
        public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass)
        {
            //m_styleGalleryItem = null;
            _symbolStyle = styleClass;

            this.axSymbologyControl1.StyleClass = styleClass;
            this.axSymbologyControl1.GetStyleClass(styleClass).UnselectItem();

            //显示模式对话框
            this.ShowDialog();

            return m_styleGalleryItem;
        }
Esempio n. 21
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;
        }
Esempio n. 22
0
        /// <summary>
        /// 加载系统符号样式
        /// </summary>
        /// <param name="symbologyCtrl">符号显示控件</param>
        /// <param name="symbologyStyle">符号样式</param>
        /// <param name="subFolder"></param>
        public static void LoadSymbolStyle(AxSymbologyControl symbologyCtrl, esriSymbologyStyleClass symbologyStyle,
                                           string subFolder = @"Symbol\StyleSymbol\ESRI.ServerStyle")
        {
            symbologyCtrl.Clear();
            string styleFilePath = string.Format(@"{0}\{1}", Application.StartupPath, subFolder);

            //载入系统符号库
            symbologyCtrl.LoadStyleFile(styleFilePath);
            symbologyCtrl.StyleClass = symbologyStyle;
            ISymbologyStyleClass pSymStyleClass = symbologyCtrl.GetStyleClass(symbologyCtrl.StyleClass);

            pSymStyleClass.GetItem(0);
            pSymStyleClass.UnselectItem();
        }
Esempio n. 23
0
 public static ESRI.ArcGIS.Carto.IFeatureRenderer GetRendererFromLayer(
     ESRI.ArcGIS.Carto.IFeatureLayer pLayer, esriSymbologyStyleClass _SymbologyStyleClass)
 {
     if (pLayer == null)
     {
         return(CreateUVRenderer(_SymbologyStyleClass));
     }
     ESRI.ArcGIS.Carto.IGeoFeatureLayer pGeoLayer = pLayer as ESRI.ArcGIS.Carto.IGeoFeatureLayer;
     if (pGeoLayer == null || pGeoLayer.Renderer == null)
     {
         return(CreateUVRenderer(_SymbologyStyleClass));
     }
     return(pGeoLayer.Renderer);
 }
Esempio n. 24
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);
        }
Esempio n. 25
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);
        }
Esempio n. 26
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);
        }
Esempio n. 27
0
        /// <summary>
        /// Gets the item.
        /// </summary>
        /// <param name="styleClass">The style class.</param>
        /// <param name="styleItem">The style item.</param>
        /// <returns>IStyleGalleryItem.</returns>
        public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, object styleItem)
        {
            this._styleGalleryItem = null;
            this.axSymbologyControl1.StyleClass = styleClass;
            ISymbologyStyleClass styleClass2 = this.axSymbologyControl1.GetStyleClass(styleClass);

            if (styleItem != null)
            {
                this._styleGalleryItem      = new ServerStyleGalleryItemClass();
                this._styleGalleryItem.Item = styleItem;
                this._styleGalleryItem.Name = frmSymbolSelector.MSG01;
                styleClass2.AddItem(this._styleGalleryItem, 0);
                styleClass2.SelectItem(0);
            }
            base.ShowDialog();
            return(this._styleGalleryItem);
        }
Esempio n. 28
0
        private void InitRendererObject(IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass)
        {
            m_SymbologyStyleClass = _SymbologyStyleClass;
            ISimpleRenderer pSimpleRenderer = pRenderer as ISimpleRenderer;

            txtName.Text = pSimpleRenderer.Label;
            txtDesc.Text = pSimpleRenderer.Description;
            if (pSimpleRenderer.Symbol == null)
            {
                labelPreviewFore.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass);
            }
            else
            {
                labelPreviewFore.Tag = pSimpleRenderer.Symbol;
            }
            labelPreviewFore.Image = ModuleCommon.Symbol2Picture(labelPreviewFore.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight);
        }
Esempio n. 29
0
        //分级大小渲染
        public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateBreakSizeRenderer(esriSymbologyStyleClass _SymbologyStyleClass)
        {
            ESRI.ArcGIS.Carto.IClassBreaksRenderer pBreakRenderer = new ESRI.ArcGIS.Carto.ClassBreaksRendererClass();
            pBreakRenderer.Field        = "<NONE>";
            pBreakRenderer.MinimumBreak = 0;
            pBreakRenderer.BreakCount   = 0;
            if (_SymbologyStyleClass == esriSymbologyStyleClass.esriStyleClassFillSymbols)
            {
                pBreakRenderer.BackgroundSymbol = ModuleCommon.CreateSymbol(esriSymbologyStyleClass.esriStyleClassMarkerSymbols) as IFillSymbol;
            }
            else
            {
                pBreakRenderer.BackgroundSymbol = null;
            }

            return(pBreakRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer);
        }
Esempio n. 30
0
        public CustomSymbology(esriSymbologyStyleClass enumStyle)
        {
            InitializeComponent();
            axSymbologyControl.StyleClass = enumStyle;
            ///* 匹配器,匹配符号类型,整个结构该改成arcGIS自身的累距类型
            switch (enumStyle)
            {
            case esriSymbologyStyleClass.esriStyleClassFillSymbols: whichSymbolType = SymbolType.FillSymbol; break;

            case esriSymbologyStyleClass.esriStyleClassLineSymbols: whichSymbolType = SymbolType.LineSymbol; break;

            case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: whichSymbolType = SymbolType.MarkerSymbol; break;

            case esriSymbologyStyleClass.esriStyleClassLegendItems: whichSymbolType = SymbolType.None; break;

            default: break;
            }
        }
Esempio n. 31
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);
        }
Esempio n. 32
0
        private void axSymbologyControl_OnStyleClassChanged(object sender, ISymbologyControlEvents_OnStyleClassChangedEvent e)
        {
            object obj = e.symbologyStyleClass;
            ISymbologyStyleClass    ssc = obj as ISymbologyStyleClass;
            esriSymbologyStyleClass ess = ssc.StyleClass;

            //switch ((esriSymbologyStyleClass)(e.symbologyStyleClass))
            switch (ess)
            {
            case esriSymbologyStyleClass.esriStyleClassMarkerSymbols:
                this.lblAngle.Visible        = true;
                this.nudAngle.Visible        = true;
                this.lblSize.Visible         = true;
                this.nudSize.Visible         = true;
                this.lblWidth.Visible        = false;
                this.nudWidth.Visible        = false;
                this.lblOutlineColor.Visible = false;
                this.btnOutlineColor.Visible = false;
                break;

            case esriSymbologyStyleClass.esriStyleClassLineSymbols:
                this.lblAngle.Visible        = false;
                this.nudAngle.Visible        = false;
                this.lblSize.Visible         = false;
                this.nudSize.Visible         = false;
                this.lblWidth.Visible        = true;
                this.nudWidth.Visible        = true;
                this.lblOutlineColor.Visible = false;
                this.btnOutlineColor.Visible = false;
                break;

            case esriSymbologyStyleClass.esriStyleClassFillSymbols:
                this.lblAngle.Visible        = false;
                this.nudAngle.Visible        = false;
                this.lblSize.Visible         = false;
                this.nudSize.Visible         = false;
                this.lblWidth.Visible        = true;
                this.nudWidth.Visible        = true;
                this.lblOutlineColor.Visible = true;
                this.btnOutlineColor.Visible = true;
                break;
            }
        }
Esempio n. 33
0
        /// <summary>
        /// 根据符号样式类别显示不同的控件
        /// </summary>
        /// <param name="eSymbologyStyleClass">符号样式类别枚举(点/线/面/标注/文本/指北针/比例尺等样式类别)</param>
        private void SetControlsVisible(esriSymbologyStyleClass eSymbologyStyleClass)
        {
            switch (eSymbologyStyleClass)
            {
            case esriSymbologyStyleClass.esriStyleClassMarkerSymbols:
                panelAngle.Visible = panelSize.Visible = true;
                panelWidth.Visible = panelOutlineColor.Visible = false;
                break;

            case esriSymbologyStyleClass.esriStyleClassLineSymbols:
                panelAngle.Visible = panelSize.Visible = panelOutlineColor.Visible = false;
                panelWidth.Visible = true;
                break;

            case esriSymbologyStyleClass.esriStyleClassFillSymbols:
                panelAngle.Visible = panelSize.Visible = false;
                panelWidth.Visible = panelOutlineColor.Visible = true;
                break;
            }
        }
Esempio n. 34
0
        //构造器选择
        //int FrmIndex = 0;

        public FrmSymbol(string[] symbolstyle, ISymbol symbol, esriSymbologyStyleClass styleClass)
        {
            InitializeComponent();
            this.EnableGlass = false;
            SymbolStyle      = symbolstyle;
            pStyleClass      = styleClass;
            pSymbol          = symbol;

            //Add by Liuzhaoqin,2013.11.16
            axSymbologyControl.StyleClass = styleClass;
            ISymbologyStyleClass symbologyStyleClass = axSymbologyControl.GetStyleClass(styleClass);

            if (symbol != null)
            {
                pStyleGalleryItem      = new ServerStyleGalleryItem();
                pStyleGalleryItem.Item = symbol;
                pStyleGalleryItem.Name = "Current";

                symbologyStyleClass.AddItem(pStyleGalleryItem, 0);
                symbologyStyleClass.SelectItem(0);
            }
        }
Esempio n. 35
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;
        }
Esempio n. 36
0
 public GetSymbol(esriSymbologyStyleClass symStyleClass)
 {
     InitializeComponent();
     styleClass = symStyleClass;
 }
Esempio n. 37
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);
        }
Esempio n. 38
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);
 }