Here you can find the source of invertBits(byte[] input)
public static void invertBits(byte[] input)
//package com.java2s; /**// w w w .j a va2 s . c o m * Copyright (c) 2014-2015 by Wen Yu. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Any modifications to this file must keep this entire header intact. * * Change History - most recent changes go on top of previous changes * * IMGUtils.java * * Who Date Description * ==== ========= ============================================================== * WY 03Feb2015 Added createThumbnail() to create a thumbnail from an image * WY 27Jan2015 Added createThumbnail8BIM() to wrap a BufferedImage to _8BIM * WY 22Jan2015 Factored out guessImageType(byte[]) * WY 24Dec2014 Rename CMYK2RGB() to iccp2rgbRaster() * WY 17Dec2014 Bug fix for rgb2bilevelDither() to bypass transparent pixels * WY 03Dec2014 Bug fix for getRGB() to fall back to BufferedImage.getRGB() * WY 26Nov2014 Changed rgb2bilevel() to take into account transparency * WY 03Nov2014 Added CMYK2RGB() to convert CMYK raster to RGB raster * WY 22Sep2014 Added guessImageType() to auto detect image type * WY 13Aug2014 Added RGB2YCCK_Inverted() to support YCCK JPEG * WY 05May2014 Added getRGB() and getRGB2() to replace BufferedImage.getRGB() */ public class Main { public static void invertBits(byte[] input) { for (int i = input.length - 1; i >= 0; i--) { input[i] = (byte) ~input[i]; } } }