예제 #1
0
        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);
        }
예제 #2
0
        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);
        }