【发布时间】:2011-02-03 16:06:52
【问题描述】:
我有一个包含一些随机位图数据的“位图”类型。我已经为亮度、颜色、饱和度和色相编写了自己的调整,这些调整分别作用于每一位,不出所料,它非常慢。
在我的研究中,我注意到使用矩阵可以非常快速地调整这些。此外,.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
但我无法找到合适的范围或这些数字中的任何一个究竟是做什么的。我不知道如何调整亮度、颜色、饱和度和色调。
有什么帮助吗??我是否在某处遗漏了一些好的文档?
谢谢!!
【问题讨论】:
-
最后一行是“亮度”。目前,我只是将其全部设置为亮度。 (范围为 0->1)
标签: .net c++-cli bitmap colormatrix