1
J'ai écrit la matrice suivante pour la saturation, mais elle ne donne pas de bons résultats. Est-ce que quelqu'un peut me dire ce qui ne va pas ici?Android Filtre de saturation Matrice
ColorMatrix colorMatrix = new ColorMatrix(saturationFilter(0.3f));
ColorMatrixColorFilter matrix = new ColorMatrixColorFilter(colorMatrix);
public static float[] saturationFilter(float x){
float lumR = 0.3086f;
float lumG = 0.6094f;
float lumB = 0.0820f;
float matrix[] = {lumR*(1-x)+x,lumG*(1-x),lumB*(1-x), 0, 0, 0,0,
lumR*(1-x)+x,lumG*(1-x),lumB*(1-x), 0, 0, 0,0,
lumR*(1-x)+x,lumG*(1-x),lumB*(1-x), 0, 0, 0,0,
0f, 0f, 0f, 1f, 0f,
0f ,0f, 0f, 0f ,1f};
return matrix;
}
La matrice doit être 4x5, pas 5x5. http://developer.android.com/reference/android/graphics/ColorMatrix.html – VinceFior