我要将现有应用程序移植到.net core,并且需要使用ImageSharp调整图像的灰度系数。
我尝试过image.Mutate(i => i.Brightness(value));
,但结果与更改伽玛的原始代码并不完全相同。
原始代码使用imgAttribs.SetGamma(value, ColorAdjustType.Bitmap);
,但我不能使用System.Drawing.Common
,因为它缺少对AWS Lambda的依赖。
是否可以使用ImageSharp更改灰度系数,如果可以,怎么办?
答案 0 :(得分:0)
Gamma调整仅仅是单个像素值的非线性调整。您不需要内置函数即可执行此操作。遍历像素并调整每个像素。
对于每个像素的r,g,b而言,内存中的算法类似于Math.Pow(component, gamma);
。