Class ReduceRGB
- java.lang.Object
-
- net.sourceforge.jiu.ops.Operation
-
- net.sourceforge.jiu.ops.ImageToImageOperation
-
- net.sourceforge.jiu.color.reduction.ReduceRGB
-
public class ReduceRGB extends ImageToImageOperation
Reduces the color depth of RGB truecolor images. This class uses a simple approach, it just drops some of the lowest bits and scales the value back to eight or sixteen bits per sample.Supported image classes
This class works withRGB24Image
andRGB48Image
.Usage example
Reduce a 24 or 48 bits per pixel RGB image to 15 bits per pixel:PixelImage inputImage = ...; // initialize ReduceRGB reduce = new ReduceRGB(); reduce.setBitsPerSample(5); reduce.setInputImage(inputImage); reduce.process(); PixelImage reducedImage = reduce.getOutputImage();
- Since:
- 0.12.0
- Author:
- Marco Schmidt
- See Also:
ReduceShadesOfGray
-
-
Constructor Summary
Constructors Constructor Description ReduceRGB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
process()
This method does the actual work of the operation.void
setBitsPerSample(int bits)
Specifies the number of bits per sample in the output image.-
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
-
-
-
-
Field Detail
-
destBits
private Integer destBits
Number of significant bits per channel in the destination RGB image.
-
-
Method Detail
-
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 classOperation
- Throws:
MissingParameterException
- if any mandatory parameter was not given to the operationWrongParameterException
- if at least one of the input parameters was not initialized appropriately (values out of the valid interval, etc.)
-
setBitsPerSample
public void setBitsPerSample(int bits)
Specifies the number of bits per sample in the output image.- Parameters:
bits
- number of bits in output image, from 1 to 15- Throws:
IllegalArgumentException
- if bits is smaller than 1 or larger than 15
-
-