public static Image negative(Image original) {
		if (original == null) {
			return null;
		}
		Image inverse = original.shallowClone();
		for (int x = 0; x < original.getWidth(); x++) {
			for (int y = 0; y < original.getHeight(); y++) {
				double red = original.getPixel(x, y, RED);
				double green = original.getPixel(x, y, GREEN);
				double blue = original.getPixel(x, y, BLUE);
				inverse.setPixel(x, y, RED, Image.MAX_VAL - red);
				inverse.setPixel(x, y, GREEN, Image.MAX_VAL - green);
				inverse.setPixel(x, y, BLUE, Image.MAX_VAL - blue);
			}
		}
		return inverse;
	}