ColorMatrix - кто понял?
От: Shmj Ниоткуда  
Дата: 23.11.19 01:52
Оценка: :)
Есть такой зверь для преобразования цветов. Т.е. цвет из 4 значений (включая прозрачность) как-то преобразуется с помощью такой матрицы:

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



К примеру, это инвертирование цвета:

new float[] {-1, 0, 0, 0, 0},
      new float[] {0, -1, 0, 0, 0},
      new float[] {0, 0, -1, 0, 0},
      new float[] {0, 0, 0, 1, 0},
      new float[] {1, 1, 1, 0, 1}


Кто уловил суть? Почему, к примеру, инвертирование нельзя написать так:

new float[] {-1, -1, -1, 1, 0},
      new float[] {0, 0, 0, 0, 0},
      new float[] {0, 0, 0, 0, 0},
      new float[] {0, 0, 0, 0, 0},
      new float[] {1, 1, 1, 0, 1}


Т.е. для всех цветов в 1 строчке...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.