我有一個包含一些隨機位圖數據的「位圖」類型。我已經針對亮度,顏色,飽和度和色調自己編寫了自己的調整,這些調整分別針對每一位進行,而且毫不奇怪,這種調整非常緩慢。如何在.NET中使用ColorMatrix來更改亮度,顏色,飽和度,色調
在我的研究中,我發現使用矩陣可以非常快地調整這些。另外,.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) – DanTheMan 2011-02-03 17:12:16