private void InitRendererUI() { IRasterRendererUI pRasterRendererUI = null; if (_RasterRenderer is IRasterRGBRenderer) { return; } else if (_RasterRenderer is IRasterUniqueValueRenderer) { return; } else if (_RasterRenderer is IRasterStretchColorRampRenderer) { pRasterRendererUI = new frmStretchColorRampRenderer(); } else if (_RasterRenderer is IRasterClassifyColorRampRenderer) { return; } else { return; } if (_Layer != null) { pRasterRendererUI.InitRasterRendererObject(_Layer, _RasterRenderer); } m_RendererObject.Add(pRasterRendererUI.GetType().FullName, pRasterRendererUI); treeCatelog.SelectedNode = treeCatelog.FindNodeByName(pRasterRendererUI.GetType().FullName); }
private void CreateRendererObject(string typeString) { if (m_RendererObject.ContainsKey(typeString)) { return; } try { Type type = Type.GetType(typeString); if (type == null) { return; } IRasterRendererUI rendererObject = Activator.CreateInstance(type) as IRasterRendererUI; ESRI.ArcGIS.Carto.IRasterRenderer pRasterRenderer = null; switch (rendererObject.RasterRendererType) { case enumRasterRendererType.StretchColorRampRenderer: pRasterRenderer = ModuleCommon.CreateStretchColorRampRenderer(); break; case enumRasterRendererType.ClassifyColorRampRenderer: pRasterRenderer = ModuleCommon.CreateClassifyColorRampRenderer(); break; case enumRasterRendererType.UniqueValueRenderer: pRasterRenderer = ModuleCommon.CreateUniqueValueRasterRenderer(); break; case enumRasterRendererType.RGBRenderer: pRasterRenderer = ModuleCommon.CreateRGBRenderer(); break; } if (_Layer == null) { rendererObject.InitRasterRendererObject(m_FieldInfo, pRasterRenderer); } else { rendererObject.InitRasterRendererObject(_Layer, pRasterRenderer); } m_RendererObject.Add(typeString, rendererObject); } catch (Exception ex) { } }
public static void SaveRasterRendererToByte(ref byte[] _RendererValue, ref string _RendererType, IRasterRendererUI pRasterRendererUI) { if (pRasterRendererUI == null) { _RendererValue = null; _RendererType = enumRasterRendererType.StretchColorRampRenderer.ToString(); return; } _RendererType = pRasterRendererUI.RasterRendererType.ToString(); try { IPersistStream pPersistStream = pRasterRendererUI.RasterRenderer as IPersistStream; IStream pStream = new XMLStreamClass(); pPersistStream.Save(pStream, 0); IXMLStream pXMLStream = pStream as IXMLStream; _RendererValue = pXMLStream.SaveToBytes(); } catch (Exception ex) { _RendererValue = null; _RendererType = enumRasterRendererType.StretchColorRampRenderer.ToString(); } }