我有一个包含一些随机位图数据的“位图”类型。我已经自己编写了亮度、颜色、饱和度和色调的调整,它们分别作用于每个位,但是很慢。
在我的研究中,我注意到使用矩阵可以非常快速地进行这些调整。此外,.NET有一个ColorMatrix,您可以在DrawImage()时应用矩阵效果。
我们设置的矩阵如下(来自MSDN网站):
在我的研究中,我注意到使用矩阵可以非常快速地进行这些调整。此外,.NET有一个ColorMatrix,您可以在DrawImage()时应用矩阵效果。
我们设置的矩阵如下(来自MSDN网站):
float[][] colorMatrixElements = {
new float[] {2, 0, 0, 0, 0}, // red scaling factor of 2
new float[] {0, 1, 0, 0, 0}, // green scaling factor of 1
new float[] {0, 0, 1, 0, 0}, // blue scaling factor of 1
new float[] {0, 0, 0, 1, 0}, // alpha scaling factor of 1
new float[] {.2f, .2f, .2f, 0, 1}}; // three translations of 0.2
但是我一直没有找到合适的范围或者这些数字具体是做什么用的。我不知道如何调整亮度、颜色、饱和度和色调。
有人能帮忙吗?我是不是错过了一些好的文档资料?
谢谢!