Я успешно реализовал функциональность для настройки контрастности и/или яркости ImageView с помощью значений, полученных из пользовательских настроек SeekBars. Для контраста это выглядит так (аналогично для яркости):
// Contrast
ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.set(new float[] {
scale, 0, 0, 0, translate, // Red
0, scale, 0, 0, translate, // Green
0, 0, scale, 0, translate, // Blue
0, 0, 0, 1, 0 }); // Alpha
imageView.setColorFilter(new ColorMatrixColorFilter(colorMatrix);
Таким образом, я мог настроить контрастность и/или яркость, просто масштабируя (умножая) или переводя (добавляя) значения RGB с другим значением.
Как я могу сделать то же самое (используя матрицу) для настройки цветовой температуры изображения?