如何使用ColorMatrix为图像的每个像素设置相同(恒定)的色调值?

Ton*_*ony 7 c# hsl android actionscript-3 colormatrix

我正在尝试使用ColorMatrix为整个图像设置一个恒定的色调值.我的目标是使整个图像看起来具有相同的颜色,而不会失去任何区域的亮度.我找到了一种通过使用ColorMatrix来移动图像的色调值的方法,但我找不到任何方法来为所有像素设置相同的色调值.我可以通过迭代图像的每个像素来做到这一点,但这种方法太慢了.我不确定是否可以使用ColorMatrix进行此操作,并且我对除ColorMatrix方法之外的可能解决方案持开放态度.

输入图像

色调变换输出图像*

期望的输出图像**

*这可以用彩色矩阵完成

**我可以通过迭代像素来实现这一点,但不能使用ColorMatrix

PS:我试图在Android上做这个,但我相信这个问题与android没有直接关系,因为ColorMatrix方法在Flash,C#等其他平台上很常见.

and*_*jcr 3

这里不太熟悉,但我相信这个链接可以提供帮助: http://www.graficaobscura.com/matrix/index.html 它是 C 代码,所以你必须翻译 C -> ColorMatrix,但在最后一段中有手术

Hue Rotation While Preserving Luminance
Run Code Online (Sandbox Code Playgroud)

这似乎是你正在寻找的。