public byte GetIntensityByte() { return (byte)((7471 * B + 38470 * G + 19595 * R) >> 16); }
public override ColorBgra Apply(ColorBgra color) { byte lumi = color.GetIntensityByte(); int diff = Curve[lumi] - lumi; return(ColorBgra.FromBgraClamped( color.B + diff, color.G + diff, color.R + diff, color.A)); }