Beispiel #1
0
 private static PixelObject[] getObjects(Captcha captcha) {
   int startX = 1;
   outer:
   for (; startX < captcha.getWidth(); startX++) {
     for (int y = 1; y < captcha.getHeight() - 1; y++) {
       if (captcha.grid[startX][y] != 0xffffff) break outer;
     }
   }
   int xEnd = captcha.getWidth() - 2;
   outer:
   for (; xEnd > 0; xEnd--) {
     for (int y = 1; y < captcha.getHeight() - 1; y++) {
       if (captcha.grid[xEnd][y] != 0xffffff) break outer;
     }
   }
   int wi = (xEnd - startX) / 6;
   PixelObject[] ret = new PixelObject[6];
   for (int i = 0; i < ret.length; i++) {
     ret[i] = new PixelObject(captcha);
   }
   int add = 3;
   for (int x = startX; x < startX + wi + add; x++) {
     for (int y = 0; y < captcha.getHeight(); y++) {
       if (captcha.grid[x][y] != 0xffffff) {
         ret[0].add(x, y, captcha.grid[x][y]);
       }
     }
   }
   for (int x = startX + wi; x < startX + wi * 2 + add; x++) {
     for (int y = 0; y < captcha.getHeight(); y++) {
       if (captcha.grid[x][y] != 0xffffff) {
         ret[1].add(x, y, captcha.grid[x][y]);
       }
     }
   }
   for (int x = startX + wi * 2; x < startX + wi * 3 + add; x++) {
     for (int y = 0; y < captcha.getHeight(); y++) {
       if (captcha.grid[x][y] != 0xffffff) {
         ret[2].add(x, y, captcha.grid[x][y]);
       }
     }
   }
   for (int x = startX + wi * 3; x < startX + wi * 4 + add; x++) {
     for (int y = 0; y < captcha.getHeight(); y++) {
       if (captcha.grid[x][y] != 0xffffff) {
         ret[3].add(x, y, captcha.grid[x][y]);
       }
     }
   }
   for (int x = startX + wi * 4; x < startX + wi * 5 + add; x++) {
     for (int y = 0; y < captcha.getHeight(); y++) {
       if (captcha.grid[x][y] != 0xffffff) {
         ret[4].add(x, y, captcha.grid[x][y]);
       }
     }
   }
   for (int x = startX + wi * 5; x < startX + wi * 6 + add; x++) {
     for (int y = 0; y < captcha.getHeight(); y++) {
       if (captcha.grid[x][y] != 0xffffff) {
         ret[5].add(x, y, captcha.grid[x][y]);
       }
     }
   }
   return ret;
 }