JIU 0.12.0 Homepage

net.sourceforge.jiu.color.reduction
Class AutoDetectColorType

java.lang.Object
  extended bynet.sourceforge.jiu.ops.Operation
      extended bynet.sourceforge.jiu.color.reduction.AutoDetectColorType

public class AutoDetectColorType
extends Operation

Detects the minimum (in terms of memory) color type of an image. Can convert the original image to that new input type on demand.

Input parameters: image to be examined, boolean that specifies whether conversion will be performed (default is true, conversion is performed). Output parameters: converted image, boolean that expresses whether a conversion was possible.

Supported types for input image: RGB24Image, Gray8Image, Paletted8Image.

BilevelImage is not supported because there is no smaller image type, so bilevel images cannot be reduced.

This operation is not a ImageToImageOperation because this class need not necessarily produce a new image (with setConversion(boolean)(false)).

Usage example

This code snippet loads an image and attempts to reduce it to the minimum color type that will hold it.
 PixelImage image = ImageLoader.load("test.bmp");
 AutoDetectColorType op = new AutoDetectColorType();
 op.setInputImage(image);
 op.process();
 if (op.isReducible())
 {
   image = op.getOutputImage();
 }
 

Author:
Marco Schmidt

Field Summary
static int TYPE_BILEVEL
           
static int TYPE_GRAY16
           
static int TYPE_GRAY8
           
static int TYPE_PALETTED8
           
static int TYPE_RGB24
           
static int TYPE_RGB48
           
static int TYPE_UNKNOWN
           
 
Constructor Summary
AutoDetectColorType()
           
 
Method Summary
 PixelImage getOutputImage()
          Returns the reduced output image if one was created in process().
 int getType()
          Returns the type of the minimum image type found (one of the TYPE_xyz constants of this class).
 boolean isReducible()
          This method can be called after process() to find out if the input image in fact can be reduced to a "smaller" image type.
 void process()
          This method does the actual work of the operation.
 void setConversion(boolean convert)
          This method can be used to specify whether the input image is to be converted to the minimum image type if it is clear that such a conversion is possible.
 void setInputImage(PixelImage image)
          This method must be used to specify the mandatory input image.
 
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 Detail

TYPE_UNKNOWN

public static final int TYPE_UNKNOWN
See Also:
Constant Field Values

TYPE_BILEVEL

public static final int TYPE_BILEVEL
See Also:
Constant Field Values

TYPE_GRAY16

public static final int TYPE_GRAY16
See Also:
Constant Field Values

TYPE_GRAY8

public static final int TYPE_GRAY8
See Also:
Constant Field Values

TYPE_PALETTED8

public static final int TYPE_PALETTED8
See Also:
Constant Field Values

TYPE_RGB24

public static final int TYPE_RGB24
See Also:
Constant Field Values

TYPE_RGB48

public static final int TYPE_RGB48
See Also:
Constant Field Values
Constructor Detail

AutoDetectColorType

public AutoDetectColorType()
Method Detail

getOutputImage

public PixelImage getOutputImage()
Returns the reduced output image if one was created in process().

Returns:
newly-created output image

getType

public int getType()
Returns the type of the minimum image type found (one of the TYPE_xyz constants of this class). Can only be called after a successful call to process.


isReducible

public boolean isReducible()
This method can be called after process() to find out if the input image in fact can be reduced to a "smaller" image type. If this method returns true and if conversion was desired by the user (can be specified via setConversion(boolean)), the reduced image can be retrieved via getOutputImage().

Returns:
if image was found to be reducible in process()

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 Operation
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.)

setConversion

public void setConversion(boolean convert)
This method can be used to specify whether the input image is to be converted to the minimum image type if it is clear that such a conversion is possible. The default value is true. If this is set to false, it can still be

Parameters:
convert - if true, the conversion will be performed

setInputImage

public void setInputImage(PixelImage image)
This method must be used to specify the mandatory input image.

Parameters:
image - PixelImage object to be examined

JIU 0.12.0 Homepage

Copyright © 2000, 2001, 2002, 2003, 2004 Marco Schmidt