public int[] doContrast(int[] pix, int iw, int ih, double contrast) { ColorModel cm = ColorModel.getRGBdefault(); int r, g, b; for(int i = 0; i < iw*ih; i++) { r = (int) (contrast>=0?cm.getRed(pix[i]) + (255-cm.getRed(pix[i]))*contrast: cm.getRed(pix[i]) + cm.getRed(pix[i])*contrast); g = (int) (contrast>=0?cm.getGreen(pix[i]) + (255-cm.getGreen(pix[i]))*contrast: cm.getGreen(pix[i]) + cm.getGreen(pix[i])*contrast); b = (int) (contrast>=0?cm.getBlue(pix[i]) + (255-cm.getBlue(pix[i]))*contrast: cm.getBlue(pix[i]) + cm.getBlue(pix[i])*contrast); pix[i] = 255 << 24|r << 16|g << 8|b; } System.out.println("contrast is: " + contrast); return pix; }