4

我想尝试使用ColorMatrix,但只能找到将图像转换为灰度的示例。即便如此,它们也往往被呈现为一块没有任何解释的“神奇数字”代码。

有谁知道如何使用 ColorMatrix 的“教程”?例如,我有兴趣将灰度图像转换为彩色图像,其中白色 == 透明,黑色 = 纯色,中间有灰色像素。ColorMatrix 能做到吗?

4

1 回答 1

2

我不知道任何文档,但是ColorMatrix将一个 RGBAW 值转换为另一个,因此您可以设置矩阵以获取输入 RGB 值并将它们应用于输出 Alpha 值。(W 只是为了使矩阵数学起作用)。

好的,我认为下面的矩阵应该做你想要的:

[1.0  0.0  0.0  0.333  0.0]
[0.0  1.0  0.0  0.333  0.0]
[0.0  0.0  1.0  0.333  0.0]
[0.0  0.0  0.0  0.0    0.0]
[0.0  0.0  0.0  0.0    1.0]

这将使当前的 RGB 值保持不变,然后将 alpha 设置为 R/3 + G/3 + B/3,即 RGB 值的平均值。将沿对角线的 1.0 值更改为 0.0 以完全删除 RGB 值。

如果您知道图像是灰度图像,其中 R == G == B,那么您可以将 0.333(重复)中的任何一个替换为 1.0,并将其他两个设置为 0.0

于 2010-06-08T12:27:45.963 回答