public static Color Transform(this Color color, IRgbTransformMatrix transform) { if (transform == null) { throw new ArgumentNullException(nameof(transform)); } var c0 = color.R / 255.0; var c1 = color.G / 255.0; var c2 = color.B / 255.0; var r = (transform[0, 0] * c0) + (transform[0, 1] * c1) + (transform[0, 2] * c2); var g = (transform[1, 0] * c0) + (transform[1, 1] * c1) + (transform[1, 2] * c2); var b = (transform[2, 0] * c0) + (transform[2, 1] * c1) + (transform[2, 2] * c2); r = EnsureBound(r); g = EnsureBound(g); b = EnsureBound(b); return(new Color(r, g, b)); }
internal GameColors(IRgbTransformMatrix transform) { Hud = EliteOrange.Transform(transform); AnalysisMode = _analysisMode.Transform(transform); }