Package net.sourceforge.jiu.color.adjustment

# Class Brightness

java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.ops.LookupTableOperation
net.sourceforge.jiu.color.adjustment.Brightness

public class Brightness extends LookupTableOperation
Adjusts the brightness of an image.

The brightness change is specified as a percentage value between -100 and 100. -100 will make the resulting image black, 0 will leave it unchanged, 100 will make it white.

### Supported image types

- `GrayIntegerImage`
- `RGBIntegerImage`
- `Paletted8Image`

### Usage examples

Both examples make the input image 30 percent brighter.

If all you want is to create a new image with adjusted brightness from the image data of an existing image, simply use the static helper method:

    PixelImage adjustedImage = Brightness.adjust(inputImage, 30);

This leaves the original image inputImage unchanged and allocates a second image object which is here assigned to the variable adjustedImage.

If you want more control over parameters, create your own Brightness object. You can then reuse image objects, e.g. to write the adjusted image data to the original image object:

     Brightness brightness = new Brightness();
     brightness.setInputImage(image);
     brightness.setOutputImage(image);
     brightness.setBrightness(30);
     brightness.process();
     // at this point, image will contain the adjusted image data,
     // the original data wil be overwritten

Author:
  Marco Schmidt

## Field Summary

Fields
Modifier and Type
Field
Description
`private int`
`brightness`

## Constructor Summary

Constructors
Constructor
Description
`Brightness()`

## Method Summary

Modifier and Type
Method
Description
`static PixelImage`
`adjust(PixelImage input, int percentage)`
This static helper method is more simple to use when all you need are the standard options.
`private int[]`
`createLookupTable(int numSamples, int brightness)`
Creates a lookup table that holds all new values for samples 0 to numSamples - 1.
`void`
`process()`
This method does the actual work of the operation.
`private void`
`process(Paletted8Image in, Paletted8Image out)`
`void`
`setBrightness(int newBrightness)`
Sets the brightness adjustment value in percent (between -100 and 100).

### Methods inherited from class net.sourceforge.jiu.ops.LookupTableOperation

`getNumTables, getTable, prepareImages, setNumTables, setTable, setTables`

### Methods inherited from class net.sourceforge.jiu.ops.ImageToImageOperation

`canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImage`

### Methods inherited from class net.sourceforge.jiu.ops.Operation

`addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### brightness

private int brightness

## Constructor Details

### Brightness

public Brightness()

## Method Details

### adjust

public static PixelImage adjust(PixelImage input, int percentage)
This static helper method is more simple to use when all you need are the standard options.

Parameters:
  `input` - the image to work on
  `percentage` - brightness modification, from -100 to 100
Returns:
  a new image with adjusted brightness

### createLookupTable

private int[] createLookupTable(int numSamples, int brightness)
Creates a lookup table that holds all new values for samples 0 to numSamples - 1.

### process

private void process(Paletted8Image in, Paletted8Image out)

### process

public void process() throws MissingParameterException, WrongParameterException
Description copied from class: `Operation`
This method does the actual work of the operation. It must be called after all parameters have been given to the operation object.

Overrides:
  `process` in class `LookupTableOperation`
Throws:
  `MissingParameterException` - if any mandatory parameter was not given to the operation
  `WrongParameterException` - if at least one of the input parameters was not initialized appropriately (values out of the valid interval, etc.)

### setBrightness

public void setBrightness(int newBrightness)
Sets the brightness adjustment value in percent (between -100 and 100).

Parameters:
  `newBrightness` - the amount of change to be applied to the brightness of the input image
Throws:
  `IllegalArgumentException` - if the argument is smaller than -100 or larger than 100