我正在尝试开发一个具有此签名的简单图像调整扩展方法:
static Alter(this System.Drawing.Image, Color original, Color result);
我想用当前图像的颜色播种算法,然后我想将其转换为result
颜色。因此,如果我传入img.Alter(紫色,黄色),整个图像将偏向黄色。我大部分时间都在工作,并且可以进行静态转换,例如灰度和反转,但是动态的改变让我感到难过。
我的主要问题是如何确定颜色的“差异”,然后将其应用于ColorMatrix的RGB格式。我有一个HueSaturationBrightness转换器,所以我可能会使用传入颜色的GetHue(),GetSaturation()和GetBrightness()值进行一些数学计算。
我正在尝试使用ColorMatrix的40,41和42索引将组件添加到原始图像/颜色的红色,绿色和蓝色组件中。我似乎无法做到这一点。
使用HSB确定2张图像的RGB百分比差异的最佳方法是什么。