public override Color At(PointType point) { var colorA = Ap.At(Ap.Transform.Inverse() * point); var colorB = Bp.At(Bp.Transform.Inverse() * point); return((colorA + colorB) * 0.5); }
public override Color At(PointType point) { var colorMain = Main.At(point); if (colorMain == Main.A) { return(Ap.At(Ap.Transform.Inverse() * point)); } if (colorMain == Main.B) { return(Bp.At(Bp.Transform.Inverse() * point)); } var altMain = Color.White - colorMain; var colorA = colorMain * Ap.At(Ap.Transform.Inverse() * point); var colorB = altMain * Bp.At(Bp.Transform.Inverse() * point); return(colorA + colorB); }