开发者

Any good source of explanatory documentation on ColorMatrix?

开发者 https://www.devze.com 2023-01-02 12:34 出处:网络
I\'d like to try using ColorMatrix, but am only able to find examples that co开发者_运维问答nvert an image to grayscale. And even then, they tend to be presented as a chunk of \'magic numbers\' code w

I'd like to try using ColorMatrix, but am only able to find examples that co开发者_运维问答nvert an image to grayscale. And even then, they tend to be presented as a chunk of 'magic numbers' code with no explanation.

Does anyone know of a 'tutorial' on how to use ColorMatrix? For example I'd be interested in converting a grayscale image to a color image, where white == transparent, and black = a solid color, with gray pixels somewhere in between. Could ColorMatrix do that?


I don't know about any documentation, but as a ColorMatrix transforms one RGBAW value into another, so you can set the matrix to take the input RGB values and apply them to the output Alpha value. (The W is only there to make the matrix maths work).

OK, I think the following matrix should do what you want:

[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]

This will leave the current RGB values unchanged and then set the alpha to be R/3 + G/3 + B/3, i.e. the average of the RGB values. Change the 1.0 values along the diagonal to 0.0 to remove the RGB values altogether.

If you know that the image is a greyscale where R == G == B then you could replace any one of the 0.333 (recurring) with 1.0 and set the other two to 0.0

0

精彩评论

暂无评论...
验证码 换一张
取 消