public static int GetPairNumberFromColor(ColorPair pair)
 {
     int majorIndex = -1;
     majorIndex = CheckColorandReturnIndex(ColourSpace.getColorMapMajor(), pair.majorColor);
     int minorIndex = -1;
     minorIndex = CheckColorandReturnIndex(ColourSpace.getColorMapMinor(), pair.minorColor);
     if (majorIndex == -1 || minorIndex == -1)
     {
         throw new ArgumentException(
             string.Format("Unknown Colors: {0}", pair.ToString()));
     }
     return (majorIndex * ColourSpace.getColorMapMinor().Length) + (minorIndex + 1);
 }
Esempio n. 2
0
        public static ColorPair GetColorFromPairNumber(int pairNumber)
        {
            int minorSize = ColourSpace.getColorMapMinor().Length;
            int majorSize = ColourSpace.getColorMapMajor().Length;

            if (pairNumber < 1 || pairNumber > minorSize * majorSize)
            {
                throw new ArgumentOutOfRangeException(
                          string.Format("Argument PairNumber:{0} is outside the allowed range", pairNumber));
            }

            int       zeroBasedPairNumber = pairNumber - 1;
            int       majorIndex          = zeroBasedPairNumber / minorSize;
            int       minorIndex          = zeroBasedPairNumber % minorSize;
            ColorPair pair = new ColorPair()
            {
                majorColor = (Color)ColourSpace.getColorMapMajor().GetValue(majorIndex),
                minorColor = (Color)ColourSpace.getColorMapMinor().GetValue(minorIndex)
            };

            return(pair);
        }