Advertisement
Guest User

Image compressor

a guest
Oct 8th, 2018
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.42 KB | None | 0 0
  1. PImage input;
  2. PrintWriter output;
  3. int count = 1;
  4.  
  5. public void setup() {
  6.  output = createWriter("out.sic");
  7.  size(displayWidth, displayHeight, P2D);
  8.  input = loadImage("encode.png");
  9.  image(input, 1,1);
  10.  int x = 1;
  11.  int y = 1;
  12.  delay(1000);
  13.  int[] argb = new int[input.width*input.height];
  14.  for(int useless1 = 0; x < input.width; x++) {
  15.  for(int useless2 = 0; y < input.height; y++) {
  16.  argb[x*y] = input.get(x, y);
  17.  }
  18.  }
  19.  color[] clrs = printPixelColors(argb);
  20.  for(int i = 0; i < input.width; i++) {
  21.  for(int j = 0; j < input.height; j++) {
  22.  if(count == 1) {
  23.  output.print("[");
  24.  output.print((int)hue(clrs[i*j]));
  25.  output.print(",");
  26.  output.print((int)brightness(clrs[i*j]));
  27.  output.print("]");
  28.  }
  29.  if((int)hue(clrs[i*j]) != (int)hue(clrs[(i*j)+1]) || (int)brightness(clrs[i*j]) != (int)brightness(clrs[(i*j)+1])) {
  30.  if(count > 1) {
  31.  output.print(count);
  32.  output.print("x");
  33.  count = 1;
  34.  }
  35.  } else {
  36.  count++;
  37.  }
  38.  }
  39.  output.println("");
  40.  output.flush();
  41.  }
  42.  output.close();
  43.  println("Converting completed!");
  44.  exit();
  45. }
  46.  
  47. public void draw() {
  48.  image(input, 1,1);
  49. }
  50.  
  51.  
  52.  
  53. public color[] printPixelColors(int[] argb){
  54.  color[] _clrs = new color[argb.length];
  55.  for(int i = 0; i < argb.length; i++){
  56.  int r = (argb[i] » 16) & 0xFF;
  57.  int g = (argb[i] » 8) & 0xFF;
  58.  int b = (argb[i] » 0) & 0xFF;
  59.  _clrs[i]= color(r,g,b);
  60.  }
  61.  return _clrs;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement