Пример #1
0
        private static LegoArtColorOffset ColorDistance(Color inputColor, LegoArtColorInfo colorInfo)
        {
            var targetColor = colorInfo.Color;
            var rmean       = (inputColor.R + (long)targetColor.R) / 2;
            var r           = inputColor.R - (long)targetColor.R;
            var g           = inputColor.G - (long)targetColor.G;
            var b           = inputColor.B - (long)targetColor.B;
            var offset      = (decimal)Math.Sqrt((((512 + rmean) * r * r) >> 8) + 4 * g * g + (((767 - rmean) * b * b) >> 8));

            return(new LegoArtColorOffset((decimal)offset, colorInfo));
        }
Пример #2
0
 public LegoArtColorOffset(decimal colorOffset, LegoArtColorInfo legoArtColorInfo)
 {
     ColorOffset      = colorOffset;
     LegoArtColorInfo = legoArtColorInfo;
     IsAvailable      = true;
 }