Advertisement
MeXaN1cK

greysColors

Jun 27th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.47 KB | None | 0 0
  1. public class Main {
  2.     public static void main(String[] args) {
  3. //        ExtractCOL extructCOL = new ExtractCOL(1666);
  4. //        int[] grey = grey();
  5. //        System.out.println(grey[0]);
  6. //        delta(2035471,986895);
  7.     }
  8.     public static int[] grey(){
  9.         int[] greys = new int[16];
  10.         for(int i=0;i<16;i++){
  11.             greys[i]=0xFF*(i+1)/17*0x10101;
  12.         }
  13.         return greys;
  14.     }
  15.     public static float delta(int col1, int col2){ // Firts color = entered; Second color - from pallete;
  16.         ExtractCOL extcol1 = new ExtractCOL(col1);
  17.         ExtractCOL extcol2 = new ExtractCOL(col2);
  18.         int dr = extcol1.r-extcol2.r;
  19.         int dg = extcol1.g-extcol2.g;
  20.         int db = extcol1.b-extcol2.b;
  21.         float delt = (float) (0.2126 * Math.pow(dr,2) + 0.7152 * Math.pow(dg,2) + 0.0722 * Math.pow(db,2));
  22. //        System.out.println(delt);
  23.         return delt;
  24.     }
  25.     public static float[] deltsArray(int col){
  26.         float[] delts = new float[16];
  27.         int[] grey = grey();
  28.         for(int i=0;i<delts.length;i++){
  29.             delts[i]=delta(grey[i],col);
  30.         }
  31.         return delts;
  32.     }
  33.     public static int findNearColor(int col){
  34.         float[] delts = deltsArray(col);
  35.        
  36.  
  37.         return nearColor;
  38.     }
  39. }
  40.  
  41. public class ExtractCOL {
  42.     public int r,g,b;
  43.     public ExtractCOL(int value){
  44.          r = (value >> 16) & 0xff;
  45.          g = (value >>  8) & 0xff;
  46.          b = (value ) & 0xff;
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement