Guest User

Untitled

a guest
Jan 21st, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. ColorMatrix colorMatrix = new ColorMatrix(saturationFilter(0.3f));
  2. ColorMatrixColorFilter matrix = new ColorMatrixColorFilter(colorMatrix);
  3.  
  4. public static float[] saturationFilter(float x){
  5.  
  6. float lumR = 0.3086f;
  7. float lumG = 0.6094f;
  8. float lumB = 0.0820f;
  9. float matrix[] = {lumR*(1-x)+x,lumG*(1-x),lumB*(1-x), 0, 0, 0,0,
  10. lumR*(1-x)+x,lumG*(1-x),lumB*(1-x), 0, 0, 0,0,
  11. lumR*(1-x)+x,lumG*(1-x),lumB*(1-x), 0, 0, 0,0,
  12. 0f, 0f, 0f, 1f, 0f,
  13. 0f ,0f, 0f, 0f ,1f};
  14.  
  15. return matrix;
  16. }
  17.  
  18. public static float[] saturationFilter(float saturation){
  19.  
  20. float p_val = cleanValue(saturation,100);
  21. float x = 1+((p_val > 0) ? 3*p_val/100 : p_val/100);
  22. float lumR = 0.3086f;
  23. float lumG = 0.6094f;
  24. float lumB = 0.0820f;
  25. float matrix[] = {lumR*(1-x)+x, lumG*(1-x), lumB*(1-x), 0, 0,
  26. lumR*(1-x), lumG*(1-x)+x, lumB*(1-x), 0, 0,
  27. lumR*(1-x), lumG*(1-x), lumB*(1-x)+x, 0, 0,
  28. 0f, 0f, 0f, 1f, 0f,
  29. 0f ,0f, 0f, 0f ,1f};
  30.  
  31. return matrix;
  32. }
  33.  
  34. private static float cleanValue(float p_val, float p_limit){
  35. return Math.min(p_limit, Math.max(-p_limit, p_val));
  36. }
Add Comment
Please, Sign In to add comment