private BandValueColorPair[] GetBandValueColorPair(BandValueIndexPair[] bandValueIndexPairs, string name) { if (bandValueIndexPairs == null || bandValueIndexPairs.Length == 0) { return(null); } XmlNode node = GetColorTableNode(name); if (node == null || node.ChildNodes == null || node.ChildNodes.Count == 0) { return(null); } List <BandValueColorPair> pairs = new List <BandValueColorPair>(); foreach (XmlNode chNode in node.ChildNodes) { int idx = NodeHandler.NodeAtt2Int(chNode, "index"); Color rgb = NodeHandler.NodeAtt2Color(chNode, "rgb"); BandValueIndexPair vpair = null; foreach (BandValueIndexPair p in bandValueIndexPairs) { if (p.Index == idx) { vpair = p; break; } } if (vpair != null) { pairs.Add(new BandValueColorPair(vpair.MinValue, vpair.MaxValue, rgb)); } } return(pairs.Count > 0 ? pairs.ToArray() : null); }
private BandValueColorPair[] GetBandValueTransColorPair(BandValueIndexPair[] bandValueIndexPairs, string name) { if (bandValueIndexPairs == null || bandValueIndexPairs.Length == 0) { return(null); } XmlNode node = GetColorTableNode(name); if (node == null || node.ChildNodes == null || node.ChildNodes.Count == 0) { return(null); } List <BandValueColorPair> pairs = new List <BandValueColorPair>(); foreach (XmlNode chNode in node.ChildNodes) { int idx = NodeHandler.NodeAtt2Int(chNode, "index"); Color rgb = NodeHandler.NodeAtt2Color(chNode, "rgb"); //bool isDisplay = false; //Boolean.TryParse(NodeHandler.NodeAtt2String(chNode, "display"), out isDisplay); //Int16 transValue = (Int16)NodeHandler.NodeAtt2Int(chNode, "transValue"); BandValueIndexPair vpair = null; foreach (BandValueIndexPair p in bandValueIndexPairs) { if (p.Index == idx) { vpair = p; break; } } if (vpair != null) { pairs.Add(new BandValueColorPair(vpair.MinValue, vpair.MaxValue, rgb, vpair.IsDisplay, vpair.TransValue, vpair.TransRGB, vpair.Description)); } } return(pairs.Count > 0 ? pairs.ToArray() : null); }