public static Image getHuidu(Image img) ... { int[] aT = new int[img.getWidth() * img.getHeight()]; img .getRGB(aT, 0, img.getWidth(), 0, 0, img.getWidth(), img .getHeight()); int x1 = AppCanvas.getRandom(0, 255); // 10 int x2 = AppCanvas.getRandom(0, 255 - x1);// 10 int x3 = AppCanvas.getRandom(0, 255 - x1 - x2);// 235 for (int i = 0; i < aT.length; i++) ...{ int r = ((aT[i] >> 16) & 0x000000ff); int g = ((aT[i] >> 8) & 0x000000ff); int b = (aT[i] & 0x000000ff); int gray = (r * x1 + g * x2 + b * x3) >> 8; aT[i] = gray & 0x0000ff | (gray & 0x0000ff) << 8 | (gray & 0x0000ff) << 16; } return img.createRGBImage(aT, img.getWidth(), img.getHeight(), false); }