Exemple #1
0
        private void InitRendererUI(List <FieldInfo> pFields)
        {
            IRendererUI pRendererUI = null;

            if (m_FeatureRenderer is ESRI.ArcGIS.Carto.ISimpleRenderer)
            {
                pRendererUI = new frmSimpleRenderer();
            }
            else if (m_FeatureRenderer is ESRI.ArcGIS.Carto.IUniqueValueRenderer)
            {
                pRendererUI = new frmMFUVRenderer();
            }
            else if (m_FeatureRenderer is ESRI.ArcGIS.Carto.IClassBreaksRenderer)
            {
                ESRI.ArcGIS.Carto.IClassBreaksUIProperties pUIProp = m_FeatureRenderer as ESRI.ArcGIS.Carto.IClassBreaksUIProperties;
                if (pUIProp.ColorRamp != "")
                {
                    pRendererUI = new frmBreakColorRenderer();
                }
                else
                {
                    pRendererUI = new frmBreakSizeRenderer();
                }
            }
            else if (m_FeatureRenderer is ESRI.ArcGIS.Carto.IChartRenderer)
            {
                IChartRenderer pChartRenderer = m_FeatureRenderer as IChartRenderer;
                IChartSymbol   pChartSymbol   = pChartRenderer.ChartSymbol;
                if (pChartSymbol is IPieChartSymbol)
                {
                    pRendererUI = new frmPieChartRenderer();//yjl20110906 add
                }
                else if (pChartSymbol is IBarChartSymbol)
                {
                    pRendererUI = new frmBarChartRenderer();
                }
                else
                {
                    pRendererUI = new frmStackedChartRenderer();
                }
            }
            if (m_FeatureLayer == null)
            {
                pRendererUI.InitRendererObject(pFields, m_FeatureRenderer, m_StyleClass);
            }
            else
            {
                pRendererUI.InitRendererObject(m_FeatureLayer, m_FeatureRenderer, m_StyleClass);
            }
            m_RendererObject.Add(pRendererUI.GetType().FullName, pRendererUI);

            treeCatelog.SelectedNode = treeCatelog.FindNodeByName(pRendererUI.GetType().FullName);
        }
        public void Apply()
        {
            IRendererFields fields = this.ichartRenderer_0 as IRendererFields;

            if (fields.FieldCount != 0)
            {
                this.ichartRenderer_0.ChartSymbol.MaxValue = this.GetMaxValue();
                IObjectCopy    copy     = new ObjectCopyClass();
                IChartRenderer renderer = copy.Copy(this.ichartRenderer_0) as IChartRenderer;
                renderer.CreateLegend();
                this.igeoFeatureLayer_0.Renderer = renderer as IFeatureRenderer;
            }
        }
Exemple #3
0
        public static IFeatureRenderer  HideSymbolOfLayer(IGeoFeatureLayer pGeoFeatureLayer)
        {
            IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;

            ISymbol pSymbol = null;

            if (pFeatureRenderer is ISimpleRenderer)
            {
                ISimpleRenderer pSimpleRender = pFeatureRenderer as ISimpleRenderer;
                pSimpleRender.Symbol = null;
                //pSymbol = pSimpleRender.Symbol;
                //SetSymbolNoColor(pGeoFeatureLayer, ref pSymbol);
                //pSimpleRender.Symbol = pSymbol;
                return(pSimpleRender as IFeatureRenderer);
            }
            else if (pFeatureRenderer is IUniqueValueRenderer)
            {
                IUniqueValueRenderer pUniqueRender = pFeatureRenderer as IUniqueValueRenderer;

                for (int i = 0; i < pUniqueRender.ValueCount; i++)
                {
                    string sValue = pUniqueRender.get_Value(i);
                    pUniqueRender.set_Symbol(sValue, null);
                    //pSymbol = pUniqueRender.get_Symbol(sValue);
                    //SetSymbolNoColor(pGeoFeatureLayer, ref pSymbol);
                    //pUniqueRender.set_Symbol(sValue, pSymbol);
                }
                return(pUniqueRender as IFeatureRenderer);
            }
            else if (pFeatureRenderer is IClassBreaksRenderer)
            {
                IClassBreaksRenderer pClassRenderer = pFeatureRenderer as IClassBreaksRenderer;
                for (int i = 0; i < pClassRenderer.BreakCount; i++)
                {
                    pClassRenderer.set_Symbol(i, null);
                }
                pClassRenderer.BackgroundSymbol = null;
                return(pClassRenderer as IFeatureRenderer);
            }
            else if (pFeatureRenderer is IProportionalSymbolRenderer)
            {
            }
            else if (pFeatureRenderer is IChartRenderer)
            {
                IChartRenderer pChartRenderer = pFeatureRenderer as IChartRenderer;
                pChartRenderer.BaseSymbol  = null;
                pChartRenderer.ChartSymbol = null;
            }
            return(null);
        }
        private void Renderer()
        {
            IGeoFeatureLayer pGeoFeatureL = (IGeoFeatureLayer)layer2Symbolize;
            IFeatureClass    featureClass = pGeoFeatureL.FeatureClass;

            IChartRenderer renderer = CreateRenderer(featureClass);

            if (renderer == null)
            {
                return;
            }
            pGeoFeatureL.Renderer = (IFeatureRenderer)renderer;
            m_activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, m_activeView.Extent);
        }
 public BeatmaniaTaskBuilder(
     IFileSystem fileSystem,
     ILogger logger,
     IBeatmaniaPcAudioStreamReader beatmaniaPcAudioStreamReader,
     IRiffPcm16SoundEncoder riffPcm16SoundEncoder,
     IRiffStreamWriter riffStreamWriter,
     IAudioDsp audioDsp,
     IBeatmaniaPc1StreamReader beatmaniaPc1StreamReader,
     IBeatmaniaPc1ChartDecoder beatmaniaPc1ChartDecoder,
     IBmsEncoder bmsEncoder,
     IBmsStreamWriter bmsStreamWriter,
     IDjmainDecoder djmainDecoder,
     IDjmainChunkStreamReader djmainChunkStreamReader,
     IUsedSamplesCounter usedSamplesCounter,
     IBeatmaniaPcAudioDecoder beatmaniaPcAudioDecoder,
     IEncryptedBeatmaniaPcAudioStreamReader encryptedBeatmaniaPcAudioStreamReader,
     IResamplerProvider resamplerProvider,
     IDjmainChartEventStreamWriter djmainChartEventStreamWriter,
     IChartRenderer chartRenderer
     )
     : base(fileSystem, logger)
 {
     _beatmaniaPcAudioStreamReader = beatmaniaPcAudioStreamReader;
     _riffPcm16SoundEncoder        = riffPcm16SoundEncoder;
     _riffStreamWriter             = riffStreamWriter;
     _audioDsp = audioDsp;
     _beatmaniaPc1StreamReader = beatmaniaPc1StreamReader;
     _beatmaniaPc1ChartDecoder = beatmaniaPc1ChartDecoder;
     _bmsEncoder              = bmsEncoder;
     _bmsStreamWriter         = bmsStreamWriter;
     _djmainDecoder           = djmainDecoder;
     _djmainChunkStreamReader = djmainChunkStreamReader;
     _usedSamplesCounter      = usedSamplesCounter;
     _beatmaniaPcAudioDecoder = beatmaniaPcAudioDecoder;
     _encryptedBeatmaniaPcAudioStreamReader = encryptedBeatmaniaPcAudioStreamReader;
     _resamplerProvider            = resamplerProvider;
     _djmainChartEventStreamWriter = djmainChartEventStreamWriter;
     _chartRenderer = chartRenderer;
 }
Exemple #6
0
 public BmsTaskBuilder(
     IFileSystem fileSystem,
     ILogger logger,
     IBmsStreamReader bmsStreamReader,
     IBmsRandomResolver bmsRandomResolver,
     IBmsDecoder bmsDecoder,
     IChartRenderer chartRenderer,
     IRiffPcm16SoundEncoder riffPcm16SoundEncoder,
     IRiffStreamWriter riffStreamWriter,
     IBmsSoundLoader bmsSoundLoader,
     IAudioDsp audioDsp
     )
     : base(fileSystem, logger)
 {
     _bmsStreamReader       = bmsStreamReader;
     _bmsRandomResolver     = bmsRandomResolver;
     _bmsDecoder            = bmsDecoder;
     _chartRenderer         = chartRenderer;
     _riffPcm16SoundEncoder = riffPcm16SoundEncoder;
     _riffStreamWriter      = riffStreamWriter;
     _bmsSoundLoader        = bmsSoundLoader;
     _audioDsp = audioDsp;
 }
Exemple #7
0
        private void method_0()
        {
            this.bool_0 = false;
            this.cboRenderType.Properties.Items.Clear();
            IGeoFeatureLayer layer = this.ifeatureLayer_0 as IGeoFeatureLayer;

            if (layer.FeatureClass != null)
            {
                this.dotDensityRendererCtrl_0.CurrentLayer         = null;
                this.simpleRenderControl_0.CurrentLayer            = null;
                this.uniqueValueRendererCtrl_0.CurrentLayer        = null;
                this.classBreaksRendererCtrl_0.CurrentLayer        = null;
                this.proportionalSymbolRendererCtrl_0.CurrentLayer = null;
                this.chartRendererCtrl_0.CurrentLayer = null;
                this.chartRendererCtrl_1.CurrentLayer = null;
                this.uniqueValueRendererMoreAttributeCtrl_0.CurrentLayer = null;
                this.cboRenderType.Properties.Items.Add("单一符号渲染");
                this.cboRenderType.Properties.Items.Add("唯一值渲染");
                this.cboRenderType.Properties.Items.Add("唯一值渲染,多字段");
                this.cboRenderType.Properties.Items.Add("渐变染色渲染");
                this.cboRenderType.Properties.Items.Add("比例符号渲染");
                if (layer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
                {
                    this.cboRenderType.Properties.Items.Add("点密度渲染");
                }
                this.cboRenderType.Properties.Items.Add("饼图渲染");
                this.cboRenderType.Properties.Items.Add("柱状图渲染");
                if (this.iuserControl_0 != null)
                {
                    (this.iuserControl_0 as UserControl).Visible = false;
                }
                IFeatureRenderer renderer = layer.Renderer;
                if (renderer is ISimpleRenderer)
                {
                    this.cboRenderType.Text = "单一符号渲染";
                    this.iuserControl_0     = this.simpleRenderControl_0;
                    this.simpleRenderControl_0.CurrentLayer = layer;
                    this.simpleRenderControl_0.Visible      = true;
                }
                else if (renderer is IUniqueValueRenderer)
                {
                    if ((renderer as IUniqueValueRenderer).FieldCount > 1)
                    {
                        this.cboRenderType.Text = "唯一值渲染,多字段";
                        this.iuserControl_0     = this.uniqueValueRendererMoreAttributeCtrl_0;
                        this.uniqueValueRendererMoreAttributeCtrl_0.CurrentLayer = layer;
                        this.uniqueValueRendererMoreAttributeCtrl_0.Visible      = true;
                    }
                    else if ((renderer as IUniqueValueRenderer).FieldCount == 1)
                    {
                        if (((renderer as IUniqueValueRenderer).LookupStyleset != null) &&
                            ((renderer as IUniqueValueRenderer).LookupStyleset.Length > 0))
                        {
                            this.cboRenderType.Text = "唯一值渲染";
                            this.iuserControl_0     = this.uniqueValueRendererCtrl_0;
                            this.uniqueValueRendererCtrl_0.CurrentLayer = layer;
                            this.uniqueValueRendererCtrl_0.Visible      = true;
                        }
                        else
                        {
                            this.cboRenderType.Text = "唯一值渲染";
                            this.iuserControl_0     = this.uniqueValueRendererCtrl_0;
                            this.uniqueValueRendererCtrl_0.CurrentLayer = layer;
                            this.uniqueValueRendererCtrl_0.Visible      = true;
                        }
                    }
                }
                else if (renderer is IClassBreaksRenderer)
                {
                    this.cboRenderType.Text = "渐变染色渲染";
                    this.iuserControl_0     = this.classBreaksRendererCtrl_0;
                    this.classBreaksRendererCtrl_0.CurrentLayer = layer;
                    this.classBreaksRendererCtrl_0.Visible      = true;
                }
                else if (renderer is IProportionalSymbolRenderer)
                {
                    this.cboRenderType.Text = "比例符号渲染";
                    this.iuserControl_0     = this.proportionalSymbolRendererCtrl_0;
                    this.proportionalSymbolRendererCtrl_0.CurrentLayer = layer;
                    this.proportionalSymbolRendererCtrl_0.Visible      = true;
                }
                else if (renderer is IDotDensityRenderer)
                {
                    this.cboRenderType.Text = "点密度渲染";
                    this.iuserControl_0     = this.dotDensityRendererCtrl_0;
                    this.dotDensityRendererCtrl_0.CurrentLayer = layer;
                    this.dotDensityRendererCtrl_0.Visible      = true;
                }
                else if (renderer is IChartRenderer)
                {
                    IChartRenderer renderer2 = renderer as IChartRenderer;
                    if (renderer2.ChartSymbol is IPieChartSymbol)
                    {
                        this.cboRenderType.Text = "饼图渲染";
                        this.iuserControl_0     = this.chartRendererCtrl_0;
                        this.chartRendererCtrl_0.CurrentLayer = layer;
                        this.chartRendererCtrl_0.Visible      = true;
                    }
                    else if (renderer2.ChartSymbol is IBarChartSymbol)
                    {
                        this.cboRenderType.Text = "柱状图渲染";
                        this.iuserControl_0     = this.chartRendererCtrl_1;
                        this.chartRendererCtrl_1.CurrentLayer = layer;
                        this.chartRendererCtrl_1.Visible      = true;
                    }
                }
                this.bool_0 = true;
            }
        }
        public void InitRendererObject(List <FieldInfo> pFields, IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass)
        {
            listAddField.Items.Clear();
            flag = true;
            m_SymbologyStyleClass = _SymbologyStyleClass;

            if (!(pRenderer is IChartRenderer))//ÅжÏÊÇ·ñÊÇͼ±íäÖȾ
            {
                return;
            }
            IChartRenderer pChartRenderer = pRenderer as IChartRenderer;

            if (pChartRenderer.ColorScheme != "")//ÑÕÉ«·½°¸
            {
                cmbColorRamp.Text = pChartRenderer.ColorScheme;
            }

            if (pChartRenderer.BaseSymbol != null)//±³¾°
            {
                labelPreviewBack.Tag = pChartRenderer.BaseSymbol;
            }
            else
            {
                labelPreviewBack.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass);
            }
            labelPreviewBack.Image = ModuleCommon.Symbol2Picture(labelPreviewBack.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight);
            if (pChartRenderer.UseOverposter)//·ÀÖ¹¸²¸Ç
            {
                chkIsUnOverlap.Checked = true;
            }
            else
            {
                chkIsUnOverlap.Checked = false;
            }
            //IChartSymbol pCS = pChartRenderer.ChartSymbol;
            //sizeInput.Value = pCS.MaxValue;//´óС
            IMarkerSymbol pMS = pChartRenderer.ChartSymbol as IMarkerSymbol;

            sizeInput.Value = pMS.Size;                                        //´óС
            IRendererFields pRenderFields = pChartRenderer as IRendererFields; //×Ö¶Î
            ISymbolArray    pSymbolArray  = pChartRenderer.ChartSymbol as ISymbolArray;

            listAddField.SmallImageList.Images.Clear();
            List <string> fdLst = new List <string>();//¼Ç¼äÖȾ¶ÔÏóÒÑÓÃ×Ö¶Î

            for (int i = 0; i < pRenderFields.FieldCount; i++)
            {
                listAddField.SmallImageList.Images.Add("Symbol" + i.ToString(), ModuleCommon.Symbol2Picture(pSymbolArray.get_Symbol(i), ModuleCommon.ImageWidth, ModuleCommon.ImageHeight));
                System.Windows.Forms.ListViewItem item = new System.Windows.Forms.ListViewItem();
                item.Name     = "Item" + i;
                item.Text     = "";
                item.ImageKey = "Symbol" + i.ToString();
                item.Tag      = pSymbolArray.get_Symbol(i);
                System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new System.Windows.Forms.ListViewItem.ListViewSubItem();
                subItem.Text = pRenderFields.get_Field(i);
                item.SubItems.Add(subItem);
                listAddField.Items.Add(item);
                fdLst.Add(pRenderFields.get_Field(i));
            }
            if (listAddField.SmallImageList.Images.Count >= 0)
            {
                selnum   = pFields.Count;
                pSymbols = CreateSymbols(selnum);
                int ii = 0;
                foreach (FieldInfo fi in pFields)
                {
                    listAddField.SmallImageList.Images.Add("Symbol" + ii.ToString(), ModuleCommon.Symbol2Picture(pSymbols[ii], ModuleCommon.ImageWidth, ModuleCommon.ImageHeight));
                    ii++;
                }
            }
            foreach (FieldInfo fi in pFields)
            {
                if (fi.FieldName != "<NONE>" && !fdLst.Contains(fi.FieldName))
                {
                    listAllField.Items.Add(fi.FieldName);
                }
            }
            flag = false;
        }
        //创建柱状专题图
        public void CreateBarRenderer(int layerID, string[] fields)
        {
            // 得到地图服务下的ArcObjects map对象
            ESRI.ArcGIS.Server.IServerContext pServerContext = GetServerContext();

            ESRI.ArcGIS.Carto.IMapServer         mapServer        = (ESRI.ArcGIS.Carto.IMapServer)pServerContext.ServerObject;
            ESRI.ArcGIS.Carto.IMapServerObjects2 mapServerObjects = (ESRI.ArcGIS.Carto.IMapServerObjects2)mapServer;
            string mapName = mapServer.DefaultMapName;

            ESRI.ArcGIS.Carto.IMap aoMap = mapServerObjects.get_Map(mapName);

            ESRI.ArcGIS.Carto.ILayer           pLayer    = aoMap.get_Layer(layerID);//得到图层
            ESRI.ArcGIS.Carto.IGeoFeatureLayer pGeoLayer = pLayer as IGeoFeatureLayer;
            //设置专题图元素的属性名称列表
            IChartRenderer  pChartRender  = pServerContext.CreateObject("esriCarto.ChartRenderer") as IChartRenderer;
            IRendererFields pRenderFields = pChartRender as IRendererFields;

            foreach (string var in fields)
            {
                pRenderFields.AddField(var, var);
            }

            //实例化图表对象并取得元素指定属性的最大值
            IBarChartSymbol pBarChartSymbol = pServerContext.CreateObject("esriDisplay.BarChartSymbol") as IBarChartSymbol;
            IChartSymbol    pChartSymbol    = pBarChartSymbol as IChartSymbol;

            pChartSymbol.MaxValue = GetStaMaxMin(fields, pGeoLayer)[0];
            pBarChartSymbol.Width = 8;
            IMarkerSymbol pMarkerSymbol = pBarChartSymbol as IMarkerSymbol;

            pMarkerSymbol.Size = 50;

            //设置柱状图每列填充效果
            ISymbolArray pSymbolArray = pBarChartSymbol as ISymbolArray;
            Random       ranColor     = new Random();

            for (int i = 0; i < fields.Length; i++)
            {
                IFillSymbol pFillSymbol = pServerContext.CreateObject("esriDisplay.SimpleFillSymbol") as IFillSymbol;
                pFillSymbol.Color = GetRGB(ranColor.Next(255), ranColor.Next(255), ranColor.Next(255), pServerContext);
                pSymbolArray.AddSymbol((ISymbol)pFillSymbol);
            }

            //设置地图图层背景
            ESRI.ArcGIS.Display.ISimpleFillSymbol pFSymbol = pServerContext.CreateObject("esriDisplay.SimpleFillSymbol") as ESRI.ArcGIS.Display.SimpleFillSymbol;
            pFSymbol.Color          = GetRGB(239, 228, 249, pServerContext);
            pChartRender.BaseSymbol = pFSymbol as ISymbol;

            //应用柱状专题到指定图层
            pChartRender.ChartSymbol   = pBarChartSymbol as IChartSymbol;
            pChartRender.Label         = "Test";
            pChartRender.UseOverposter = false;
            pChartRender.CreateLegend();
            pGeoLayer.Renderer = pChartRender as IFeatureRenderer;

            //刷新地图显示图表及图例
            mapServerObjects.RefreshServerObjects();
            Map1.RefreshResource("MapResourceItem0");
            Toc1.BuddyControl = "Map1";
            //Toc1.Refresh();
            Map1.Refresh();
            pServerContext.ReleaseContext();
        }
Exemple #10
0
        private static void AddSymbolNode(TreeNodeComLayer tnComLayer, object renderer)
        {
            int             index;
            LogicBaseTree   logicBT    = new LogicBaseTree();
            ImageCollection treeImages = logicBT.TreeList.StateImageList as ImageCollection;

            if (renderer is SimpleRenderer)
            {
                ISimpleRenderer simpleRenderer = (ISimpleRenderer)renderer;
                ISymbol         symbol         = simpleRenderer.Symbol;
                Image           img            = ConvertSymbolToImage.Convert(symbol, 16, 16);
                index = treeImages.Images.Add(img);
                //img.Save("d:\\" + index + ".JPG");

                string         label    = simpleRenderer.Label;
                TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                {
                    Name = label, CustomValue = symbol
                };
                tnSymbol.ImageIndex = index;
                tnComLayer.Add(tnSymbol);
            }
            else if (renderer is UniqueValueRenderer)
            {
                string renderLabel = "";
                IUniqueValueRenderer uniqueValueRenderer = renderer as IUniqueValueRenderer;
                for (int i = 0; i < uniqueValueRenderer.FieldCount - 1; i++)
                {
                    renderLabel += uniqueValueRenderer.get_Field(i) + " /";
                }
                renderLabel += uniqueValueRenderer.get_Field(uniqueValueRenderer.FieldCount - 1);//FieldCount为地物分类数
                //getImage(esriGeometryType.esriGeometryPolygon, Color.White).Save("D:\\111.jpg");
                index = treeImages.Images.Add(getImage(esriGeometryType.esriGeometryPolygon, Color.White));

                TreeNodeSymbol tnChartNode = new TreeNodeSymbol()
                {
                    Name = renderLabel, CustomValue = uniqueValueRenderer
                };
                tnChartNode.ImageIndex = index;
                tnComLayer.Add(tnChartNode);

                for (int i = 0; i < uniqueValueRenderer.ValueCount; i++)//ValueCount为地物分类下的设施种类数
                {
                    ISymbol symbol = uniqueValueRenderer.get_Symbol(uniqueValueRenderer.get_Value(i));

                    Image img = ConvertSymbolToImage.Convert(symbol, 16, 16);
                    //img.Save("D:\\121121.jpg");


                    index = treeImages.Images.Add(img);

                    TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                    {
                        Name = uniqueValueRenderer.get_Label(uniqueValueRenderer.get_Value(i)), CustomValue = symbol
                    };
                    tnSymbol.ImageIndex = index;
                    tnComLayer.Add(tnSymbol);
                }
                if (uniqueValueRenderer.UseDefaultSymbol)
                {
                    ISymbol symbol = uniqueValueRenderer.DefaultSymbol;
                    Image   img    = ConvertSymbolToImage.Convert(symbol, 16, 16);
                    index = treeImages.Images.Add(img);

                    TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                    {
                        Name = uniqueValueRenderer.DefaultLabel, CustomValue = symbol
                    };
                    tnSymbol.ImageIndex = index;
                    tnComLayer.Add(tnSymbol);
                }
            }
            else if (renderer is IChartRenderer)
            {
                IChartRenderer  chartRenderer = renderer as IChartRenderer;
                IRendererFields pFields       = chartRenderer as IRendererFields;
                string          renderLabel   = "";
                for (int i = 0; i < pFields.FieldCount - 1; i++)
                {
                    renderLabel += pFields.get_FieldAlias(i) + " /";
                }
                renderLabel += pFields.get_FieldAlias(pFields.FieldCount - 1);

                index = treeImages.Images.Add(getImage(esriGeometryType.esriGeometryPolygon, Color.White));

                TreeNodeSymbol tnChartNode = new TreeNodeSymbol()
                {
                    Name = renderLabel, CustomValue = chartRenderer
                };
                tnChartNode.ImageIndex = index;
                tnComLayer.Add(tnChartNode);


                ISymbolArray symArray = chartRenderer.ChartSymbol as ISymbolArray;
                for (int i = 0; i < symArray.SymbolCount; i++)
                {
                    ISymbol symbol = symArray.get_Symbol(i);

                    Image img = ConvertSymbolToImage.Convert(symbol, 16, 16);
                    index = treeImages.Images.Add(img);

                    TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                    {
                        Name = pFields.get_FieldAlias(i), CustomValue = symbol
                    };
                    tnSymbol.ImageIndex = index;
                    tnComLayer.Add(tnSymbol);
                }
            }
            else if (renderer is IClassBreaksRenderer)
            {
                IClassBreaksRenderer classRenderer = renderer as IClassBreaksRenderer;
                index = treeImages.Images.Add(getImage(esriGeometryType.esriGeometryPolygon, Color.White));

                TreeNodeSymbol tnChartNode = new TreeNodeSymbol()
                {
                    Name = classRenderer.Field, CustomValue = classRenderer
                };
                tnChartNode.ImageIndex = index;
                tnComLayer.Add(tnChartNode);


                for (int i = 0; i < classRenderer.BreakCount; i++)
                {
                    ISymbol symbol = classRenderer.get_Symbol(i);

                    Image img = ConvertSymbolToImage.Convert(symbol, 16, 16);
                    index = treeImages.Images.Add(img);

                    TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                    {
                        Name = classRenderer.get_Label(i), CustomValue = symbol
                    };
                    tnSymbol.ImageIndex = index;
                    tnComLayer.Add(tnSymbol);
                }
            }
            else if (renderer is IRasterRenderer)
            {
                if (renderer is IRasterClassifyColorRampRenderer)
                {
                    //MessageBox.Show("IRasterClassifyColorRampRenderer");
                }
                else if (renderer is IRasterUniqueValueRenderer)
                {
                    //MessageBox.Show("IRasterUniqueValueRenderer");
                }
                else if (renderer is IRasterStretchColorRampRenderer)
                {
                    ////MessageBox.Show("IRasterStretchColorRampRenderer");
                    IRasterStretchColorRampRenderer pRSCRR = renderer as IRasterStretchColorRampRenderer;

                    index = treeImages.Images.Add(getImage(esriGeometryType.esriGeometryPolygon, Color.White));
                    TreeNodeSymbol tnChartNode = new TreeNodeSymbol()
                    {
                        Name = "<Value>", CustomValue = pRSCRR
                    };
                    tnChartNode.ImageIndex = index;
                    tnComLayer.Add(tnChartNode);

                    if (pRSCRR.ColorRamp.Size >= 3)
                    {
                        IEnumColors colors = pRSCRR.ColorRamp.Colors;
                        colors.Reset();
                        IColor  c      = colors.Next();
                        Color[] cArray = new Color[3];
                        int     count  = 0;
                        while (c != null)
                        {
                            count++;
                            if (count == 1)
                            {
                                cArray[0] = Color.FromArgb(c.RGB);
                            }
                            else if (count == pRSCRR.ColorRamp.Size / 2)
                            {
                                cArray[1] = Color.FromArgb(c.RGB);
                            }
                            else if (count == pRSCRR.ColorRamp.Size)
                            {
                                cArray[2] = Color.FromArgb(c.RGB);
                            }
                            c = colors.Next();
                        }
                        for (int i = 0; i < 3; i++)
                        {
                            Image img = getImage(esriGeometryType.esriGeometryPolygon, cArray[i]);
                            index = treeImages.Images.Add(img);

                            string label = "";
                            if (i == 0)
                            {
                                label = pRSCRR.LabelLow;
                            }
                            else if (i == 1)
                            {
                                label = pRSCRR.LabelMedium;
                            }
                            else if (i == 2)
                            {
                                label = pRSCRR.LabelHigh;
                            }

                            TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                            {
                                Name = label, CustomValue = cArray[i]
                            };
                            tnSymbol.ImageIndex = index;
                            tnComLayer.Add(tnSymbol);
                        }
                    }
                }

                else if (renderer is IRasterRGBRenderer)
                {
                    //MessageBox.Show("IRasterRGBRenderer");
                }
                else if (renderer is IRasterColormap)
                {
                    //MessageBox.Show("IRasterColormap");
                }
                else
                {
                    //MessageBox.Show("未处理的IRasterRenderer类型:  " + renderer.GetType().FullName);
                }
            }
            else if (renderer is ITinRenderer)
            {
                if (renderer is ITinColorRampRenderer)
                {
                    ////MessageBox.Show("ITinColorRampRenderer");
                    ITinColorRampRenderer pTCRR = renderer as ITinColorRampRenderer;

                    index = treeImages.Images.Add(getImage(esriGeometryType.esriGeometryPolygon, Color.White));
                    TreeNodeSymbol tnChartNode = new TreeNodeSymbol()
                    {
                        Name = "Elevation", CustomValue = pTCRR
                    };
                    tnChartNode.ImageIndex = index;
                    tnComLayer.Add(tnChartNode);



                    for (int i = 0; i < pTCRR.BreakCount; i++)
                    {
                        ISymbol symbol = pTCRR.get_Symbol(i);
                        Image   img    = ConvertSymbolToImage.Convert(symbol, 16, 16);
                        index = treeImages.Images.Add(img);
                        TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                        {
                            Name = pTCRR.get_Label(i), CustomValue = symbol
                        };
                        tnSymbol.ImageIndex = index;
                        tnComLayer.Add(tnSymbol);
                    }
                }
                else if (renderer is ITinUniqueValueRenderer)
                {
                    ////MessageBox.Show("ITinUniqueValueRenderer");
                    ITinUniqueValueRenderer pTUVR = renderer as ITinUniqueValueRenderer;

                    index = treeImages.Images.Add(getImage(esriGeometryType.esriGeometryPolygon, Color.White));

                    TreeNodeSymbol tnChartNode = new TreeNodeSymbol()
                    {
                        Name = "Elevation", CustomValue = pTUVR
                    };
                    tnChartNode.ImageIndex = index;
                    tnComLayer.Add(tnChartNode);


                    for (int i = 0; i < pTUVR.ValueCount; i++)
                    {
                        string  val    = pTUVR.get_Value(i);
                        ISymbol symbol = pTUVR.get_Symbol(val);
                        Image   img    = ConvertSymbolToImage.Convert(symbol, 16, 16);
                        index = treeImages.Images.Add(img);

                        TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                        {
                            Name = pTUVR.get_Label(val), CustomValue = symbol
                        };
                        tnSymbol.ImageIndex = index;
                        tnComLayer.Add(tnSymbol);
                    }
                    if (pTUVR.UseDefaultSymbol)
                    {
                        ISymbol symbol = pTUVR.DefaultSymbol;
                        Image   img    = ConvertSymbolToImage.Convert(symbol, 16, 16);
                        index = treeImages.Images.Add(img);

                        TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                        {
                            Name = pTUVR.DefaultLabel, CustomValue = symbol
                        };
                        tnSymbol.ImageIndex = index;
                        tnComLayer.Add(tnSymbol);
                    }
                }
                else if (renderer is ITinSingleSymbolRenderer)
                {
                    ////MessageBox.Show("ITinSingleSymbolRenderer");
                    ITinSingleSymbolRenderer pTSSR = renderer as ITinSingleSymbolRenderer;
                    ISymbol symbol = pTSSR.Symbol;
                    Image   img    = ConvertSymbolToImage.Convert(symbol, 16, 16);
                    index = treeImages.Images.Add(img);

                    TreeNodeSymbol tnSymbol = new TreeNodeSymbol()
                    {
                        Name = pTSSR.Label, CustomValue = symbol
                    };
                    tnSymbol.ImageIndex = index;
                    tnComLayer.Add(tnSymbol);
                }
                else
                {
                    //MessageBox.Show("未处理的ITinRenderer类型:  " + renderer.GetType().FullName);
                }
            }
            else
            {
                //MessageBox.Show("未处理的Renderer类型:  " + renderer.GetType().FullName);
            }
        }
 public CustomBarSeriesDrawPart(BarSeries series, IChartRenderer renderer)
     : base(series, renderer)
 {
 }
Exemple #12
0
 private void method_4()
 {
     if (this.igeoFeatureLayer_0 == null)
     {
         this.ichartRenderer_0 = null;
     }
     else
     {
         IChartRenderer pInObject = this.igeoFeatureLayer_0.Renderer as IChartRenderer;
         if (pInObject == null)
         {
             if (this.ichartRenderer_0 == null)
             {
                 this.ichartRenderer_0 = new ChartRendererClass();
                 if (this.int_0 == 0)
                 {
                     this.ichartRenderer_0.ChartSymbol = new PieChartSymbolClass();
                 }
                 else if (this.int_0 == 1)
                 {
                     this.ichartRenderer_0.ChartSymbol = new BarChartSymbolClass();
                 }
                 else
                 {
                     this.ichartRenderer_0.ChartSymbol = new StackedChartSymbolClass();
                 }
                 (this.ichartRenderer_0.ChartSymbol as IMarkerSymbol).Size = 32.0;
             }
         }
         else
         {
             IObjectCopy copy = new ObjectCopyClass();
             this.ichartRenderer_0 = copy.Copy(pInObject) as IChartRenderer;
             IChartSymbol chartSymbol = this.ichartRenderer_0.ChartSymbol;
             IChartSymbol symbol2     = null;
             if (this.int_0 == 0)
             {
                 if (!(chartSymbol is IPieChartSymbol))
                 {
                     symbol2 = new PieChartSymbolClass();
                 }
             }
             else if (this.int_0 == 1)
             {
                 if (!(chartSymbol is IBarChartSymbol))
                 {
                     symbol2 = new BarChartSymbolClass();
                 }
             }
             else if ((this.int_0 == 2) && !(chartSymbol is IStackedChartSymbol))
             {
                 symbol2 = new StackedChartSymbolClass();
             }
             if (symbol2 != null)
             {
                 ISymbolArray array = chartSymbol as ISymbolArray;
                 for (int i = 0; i < array.SymbolCount; i++)
                 {
                     (symbol2 as ISymbolArray).AddSymbol(array.get_Symbol(i));
                 }
                 this.ichartRenderer_0.ChartSymbol = symbol2;
             }
         }
     }
 }
Exemple #13
0
 private void method_1()
 {
     if (this.ilayer_0 != null)
     {
         IGeoFeatureLayer layer = this.ilayer_0 as IGeoFeatureLayer;
         if (layer.FeatureClass != null)
         {
             if (layer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
             {
                 if (this.treeView1.Nodes[2].Nodes.Count == 2)
                 {
                     TreeNode node = new TreeNode("点密度渲染");
                     this.treeView1.Nodes[2].Nodes.Add(node);
                     node.Tag = this.dotDensityRendererCtrl_0;
                 }
             }
             else if (this.treeView1.Nodes[2].Nodes.Count == 3)
             {
                 this.treeView1.Nodes[2].Nodes.RemoveAt(2);
             }
             if (this.iuserControl_0 != null)
             {
                 (this.iuserControl_0 as UserControl).Visible = false;
             }
             IFeatureRenderer renderer = layer.Renderer;
             if (renderer is ISimpleRenderer)
             {
                 this.treeView1.SelectedNode        = this.treeView1.Nodes[0].Nodes[0];
                 this.iuserControl_0                = this.simpleRenderControl_0;
                 this.simpleRenderControl_0.Visible = true;
             }
             else if (renderer is IUniqueValueRenderer)
             {
                 if ((renderer as IUniqueValueRenderer).FieldCount > 1)
                 {
                     this.treeView1.SelectedNode = this.treeView1.Nodes[1].Nodes[1];
                     this.iuserControl_0         = this.uniqueValueRendererMoreAttributeCtrl_0;
                     this.uniqueValueRendererMoreAttributeCtrl_0.Visible = true;
                 }
                 else if ((renderer as IUniqueValueRenderer).FieldCount == 1)
                 {
                     if (((renderer as IUniqueValueRenderer).LookupStyleset != null) &&
                         ((renderer as IUniqueValueRenderer).LookupStyleset.Length > 0))
                     {
                         this.treeView1.SelectedNode         = this.treeView1.Nodes[1].Nodes[2];
                         this.iuserControl_0                 = this.matchStyleGrallyCtrl_0;
                         this.matchStyleGrallyCtrl_0.Visible = true;
                     }
                     else
                     {
                         this.treeView1.SelectedNode            = this.treeView1.Nodes[1].Nodes[0];
                         this.iuserControl_0                    = this.uniqueValueRendererCtrl_0;
                         this.uniqueValueRendererCtrl_0.Visible = true;
                     }
                 }
             }
             else if (renderer is IClassBreaksRenderer)
             {
                 this.treeView1.SelectedNode            = this.treeView1.Nodes[2].Nodes[0];
                 this.iuserControl_0                    = this.classBreaksRendererCtrl_0;
                 this.classBreaksRendererCtrl_0.Visible = true;
             }
             else if (renderer is IProportionalSymbolRenderer)
             {
                 this.treeView1.SelectedNode = this.treeView1.Nodes[2].Nodes[1];
                 this.iuserControl_0         = this.proportionalSymbolRendererCtrl_0;
                 this.proportionalSymbolRendererCtrl_0.Visible = true;
             }
             else if (renderer is IDotDensityRenderer)
             {
                 this.treeView1.SelectedNode           = this.treeView1.Nodes[2].Nodes[2];
                 this.iuserControl_0                   = this.dotDensityRendererCtrl_0;
                 this.dotDensityRendererCtrl_0.Visible = true;
             }
             else if (!(renderer is IRepresentationRenderer))
             {
                 if (renderer is IChartRenderer)
                 {
                     IChartRenderer renderer2 = renderer as IChartRenderer;
                     if (renderer2.ChartSymbol is IPieChartSymbol)
                     {
                         this.treeView1.SelectedNode      = this.treeView1.Nodes[3].Nodes[0];
                         this.iuserControl_0              = this.chartRendererCtrl_0;
                         this.chartRendererCtrl_0.Visible = true;
                     }
                     else if (renderer2.ChartSymbol is IBarChartSymbol)
                     {
                         this.treeView1.SelectedNode      = this.treeView1.Nodes[3].Nodes[1];
                         this.iuserControl_0              = this.chartRendererCtrl_1;
                         this.chartRendererCtrl_1.Visible = true;
                     }
                 }
             }
             else
             {
                 this.iuserControl_0 = this.representationRendererPage_0;
                 string   name  = ((renderer as IRepresentationRenderer).RepresentationClass as IDataset).Name;
                 TreeNode node2 = this.treeView1.Nodes[this.treeView1.Nodes.Count - 1];
                 for (int i = 0; i < node2.Nodes.Count; i++)
                 {
                     if (node2.Nodes[i].Text == name)
                     {
                         this.treeView1.SelectedNode = node2.Nodes[i];
                         break;
                     }
                 }
                 this.representationRendererPage_0.Visible = true;
             }
         }
     }
 }