处理前效果图:
处理后效果:因为原图色彩饱和度实在太低,因此我传入了2次参数:numberN=255
protected override void Adjust(ref byte BValue, ref byte GValue, ref byte RValue)
{//郑斯彬原创算法,numberN表示调整的饱和度值【-255~255】
rgbClassRef rgb = new rgbClassRef();
rgb.SetRGB(ref RValue, ref GValue, ref BValue); //rgb.GetMYXZD();
if (rgb.SN > 0) //如果色彩浓度大于0
{//计算新的颜色值
rgb.D = rgb.Fix((int)(rgb.D - rgb.SN * (255 - rgb.D) * numberN / 255 / 255));
rgb.Z = rgb.Fix((int)(rgb.Z - rgb.SN * (255 - rgb.Z) * numberN / 255 / 255));
rgb.X = rgb.Fix((int)(rgb.X - rgb.SN * (255 - rgb.X) * numberN / 255 / 255));
}
}
}