//分级颜色渲染 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); }
public static ESRI.ArcGIS.Carto.IFeatureRenderer LoadRendererFromByte(byte[] _RendererValue, string _RendererType) { if (_RendererValue == null || _RendererValue.Length == 0) { return(null); } try { enumRendererType pRendererType = (enumRendererType)Enum.Parse(typeof(enumRendererType), _RendererType); ESRI.ArcGIS.Carto.IFeatureRenderer pRenderer = null; switch (pRendererType) { case enumRendererType.SimpleRenderer: pRenderer = new ESRI.ArcGIS.Carto.SimpleRendererClass(); break; case enumRendererType.UniqueValueRenderer: pRenderer = new ESRI.ArcGIS.Carto.UniqueValueRendererClass(); break; case enumRendererType.BreakColorRenderer: pRenderer = new ESRI.ArcGIS.Carto.ClassBreaksRendererClass(); break; case enumRendererType.BreakSizeRenderer: pRenderer = new ESRI.ArcGIS.Carto.ClassBreaksRendererClass(); break; } if (pRenderer == null) { return(null); } IMemoryBlobStreamVariant pMemoryBlobStreamVariant = new MemoryBlobStreamClass(); pMemoryBlobStreamVariant.ImportFromVariant((object)_RendererValue); IStream pStream = pMemoryBlobStreamVariant as IStream; IPersistStream pPersistStream = pRenderer as IPersistStream; pPersistStream.Load(pStream); pRenderer = pPersistStream as ESRI.ArcGIS.Carto.IFeatureRenderer; return(pRenderer); } catch (Exception ex) { return(null); } }
//分级大小渲染 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); }