Ejemplo n.º 1
0
        public double GetColorGoodness(PersonalColorType personalColorType, ServerColor color)
        {
            var colorGroups = ColorMatching.Autumn;

            if (personalColorType == PersonalColorType.Winter)
            {
                colorGroups = ColorMatching.Winter;
            }
            if (personalColorType == PersonalColorType.Spring)
            {
                colorGroups = ColorMatching.Spring;
            }
            if (personalColorType == PersonalColorType.Summer)
            {
                colorGroups = ColorMatching.Summer;
            }
            if (personalColorType == PersonalColorType.Autumn)
            {
                colorGroups = ColorMatching.Autumn;
            }

            var red            = GetColorGoodness(colorGroups.RedPink.GoodColors, colorGroups.RedPink.BadColors, color);
            var orangeYellow   = GetColorGoodness(colorGroups.OrangeYellow.GoodColors, colorGroups.OrangeYellow.BadColors, color);
            var green          = GetColorGoodness(colorGroups.Green.GoodColors, colorGroups.Green.BadColors, color);
            var blue           = GetColorGoodness(colorGroups.Blue.GoodColors, colorGroups.Blue.BadColors, color);
            var brownBeige     = GetColorGoodness(colorGroups.BrownBeige.GoodColors, colorGroups.BrownBeige.BadColors, color);
            var grayBlackWhite = GetColorGoodness(colorGroups.GrayBlackWhite.GoodColors, colorGroups.GrayBlackWhite.BadColors, color);

            return(new List <double> {
                red, orangeYellow, green, blue, brownBeige, grayBlackWhite
            }.Max());
        }
Ejemplo n.º 2
0
        private static double GetColorGoodness(IEnumerable <ServerColor> goodColors, IEnumerable <ServerColor> badColors,
                                               ServerColor color)
        {
            var minGoodDiff = goodColors.Select(goodColor => ServerColor.CompareDeltaE(color, goodColor)).Min();
            var minBadDiff  = badColors.Select(badColor => ServerColor.CompareDeltaE(color, badColor)).Min();

            return(1 - minGoodDiff / (minGoodDiff + minBadDiff));
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            ContentPath content        = new ContentPath();
            var         resource       = new ResourceHandler();
            var         colorsMatching = resource.ReadeResourceFile <LamodaColorsDeserializer>(content.LamodaColors);

            Console.WriteLine(ServerColor.GetDifference(new ServerColor("000000"), new ServerColor("000000")));
            Console.WriteLine(ServerColor.GetDifference(new ServerColor("ffffff"), new ServerColor("ffffff")));
            Console.WriteLine(ServerColor.GetDifference(new ServerColor("dfbd93"), new ServerColor("dfbd93")));

            var baseColors = BaseColorType.AsList();

            ServerColor beige = new ServerColor("dfbd93");

            foreach (var baseColorType in baseColors)
            {
                var otherColor = new ServerColor(baseColorType.Hex);
                var diff       = ServerColor.GetDifference(beige, otherColor);
                Console.WriteLine($"Base Color: {baseColorType.Name}:      {diff} | ({otherColor.ToRgb().R}, {otherColor.ToRgb().G}, {otherColor.ToRgb().B}) | ({beige.ToRgb().R}, {beige.ToRgb().G}, {beige.ToRgb().B})");
            }
        }
Ejemplo n.º 4
0
    public void ChangePlayerColor(Color NewOutlineColor, Color NewOutlineEmissionColor, float NewOutlineEmissionlevel, Color NewBaseColor, Color NewBaseEmissionColor, float NewBaseEmissionlevel, int ID)
    {
        ServerColor modified = new ServerColor(NewOutlineColor, NewOutlineEmissionColor, NewOutlineEmissionlevel, NewBaseColor, NewBaseEmissionColor, NewBaseEmissionlevel);

        PlayerColor[ID] = modified;
    }