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)); }
public LegoArtColorOffset(decimal colorOffset, LegoArtColorInfo legoArtColorInfo) { ColorOffset = colorOffset; LegoArtColorInfo = legoArtColorInfo; IsAvailable = true; }