public override ColorBgra Apply(ColorBgra color) { Vector3D vector2 = color.ToPoint3D() - Origin3D; double alpha = (vector2 * AlphaVector) / AlphaVectorLength; return(OutputColor.NewAlpha(Utility.ClampToByte(alpha * 255))); }
public override ColorBgra Apply(ColorBgra color) { int deviance = color[Channel] - BackColor[Channel]; float scale = (float)deviance / Deviance; byte alpha = Utility.ClampToByte(scale * 255); return(OutputColor.NewAlpha(alpha)); }
public override ColorBgra Apply(ColorBgra color) { int distance = Utility.ColorDifference(BackColor, color); float scale = (float)distance / Distance; byte alpha = Utility.ClampToByte(scale * 255); return(OutputColor.NewAlpha(alpha)); }
public override ColorBgra Apply(ColorBgra color) { float colorAverage = color.GetAverageColorChannelValueF(); float scale = (colorAverage - BackAverage) / (ForeAverage - BackAverage); byte alpha = Utility.ClampToByte(scale * 255); return(OutputColor.NewAlpha(alpha)); }