org.apache.fop.util.bitmap

## Class BitmapImageUtil

- java.lang.Object
- - org.apache.fop.util.bitmap.BitmapImageUtil

    public final class BitmapImageUtil
    extends Object

Utility method for dealing with bitmap images.

### Method Summary

All Methods Static Methods Concrete Methods
`static int` `convertToGray(int rgb)` Convert an RGB color value to a grayscale from 0 to 100.
`static int` `convertToGray(int r, int g, int b)` Convert an RGB color value to a grayscale from 0 to 100.
`static BufferedImage` `convertToGrayscale(RenderedImage img, Dimension targetDimension)` Converts an image to a grayscale (8 bits) image.
`static BufferedImage` `convertToMonochrome(RenderedImage img, Dimension targetDimension)` Converts an image to a monochrome 1-bit image.
`static RenderedImage` `convertToMonochrome(RenderedImage img, Dimension targetDimension, float quality)` Converts an image to a monochrome 1-bit image.
`static BufferedImage` `convertTosRGB(RenderedImage img, Dimension targetDimension)` Converts an image to sRGB.
`static MonochromeBitmapConverter` `createDefaultMonochromeBitmapConverter()`
`static int` `getColorIndexSize(RenderedImage img)` Returns the size of the color index if the given image has one.
`static boolean` `isGrayscaleImage(RenderedImage img)` Indicates whether an image is a grayscale image.
`static boolean` `isMonochromeImage(RenderedImage img)` Indicates whether an image is a monochrome (1 bit black and white) image.
`static boolean` `isZeroBlack(RenderedImage img)` Indicates whether a zero bit indicates a black/dark pixel for a monochrome image.
`static BufferedImage` `toBufferedImage(RenderedImage img)` Returns a BufferedImage based on the given RenderedImage.

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

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

### Method Detail

#### isMonochromeImage

    public static boolean isMonochromeImage(RenderedImage img)

Indicates whether an image is a monochrome (1 bit black and white) image.

Parameters:
  `img` - the image
Returns:
  true if it's a monochrome image

#### isZeroBlack

    public static boolean isZeroBlack(RenderedImage img)

Indicates whether a zero bit indicates a black/dark pixel for a monochrome image.

Parameters:
  `img` - the image (must be 1 bit monochrome)
Returns:
  true if a zero bit indicates a black/dark pixel, false for a white/bright pixel

#### convertToGray

    public static int convertToGray(int r,
                                    int g,
                                    int b)

Convert an RGB color value to a grayscale from 0 to 100.

Parameters:
  `r` - the red component
  `g` - the green component
  `b` - the blue component
Returns:
  the gray value

#### convertToGray

    public static int convertToGray(int rgb)

Convert an RGB color value to a grayscale from 0 to 100.

Parameters:
  `rgb` - the RGB value
Returns:
  the gray value

#### getColorIndexSize

    public static int getColorIndexSize(RenderedImage img)

Returns the size of the color index if the given image has one.

Parameters:
  `img` - the image
Returns:
  the size of the color index or 0 if there's no color index

#### isGrayscaleImage

    public static boolean isGrayscaleImage(RenderedImage img)

Indicates whether an image is a grayscale image.

Parameters:
  `img` - the image
Returns:
  true if it's a grayscale image

#### convertTosRGB

    public static BufferedImage convertTosRGB(RenderedImage img,
                                              Dimension targetDimension)

Converts an image to sRGB. Optionally, the image can be scaled.

Parameters:
  `img` - the image to be converted
  `targetDimension` - the new target dimensions or null if no scaling is necessary
Returns:
  the sRGB image

#### convertToGrayscale

    public static BufferedImage convertToGrayscale(RenderedImage img,
                                                   Dimension targetDimension)

Converts an image to a grayscale (8 bits) image. Optionally, the image can be scaled.

Parameters:
  `img` - the image to be converted
  `targetDimension` - the new target dimensions or null if no scaling is necessary
Returns:
  the grayscale image

#### convertToMonochrome

    public static BufferedImage convertToMonochrome(RenderedImage img,
                                                    Dimension targetDimension)

Converts an image to a monochrome 1-bit image. Optionally, the image can be scaled.

Parameters:
  `img` - the image to be converted
  `targetDimension` - the new target dimensions or null if no scaling is necessary
Returns:
  the monochrome image

#### convertToMonochrome

    public static RenderedImage convertToMonochrome(RenderedImage img,
                                                    Dimension targetDimension,
                                                    float quality)

Converts an image to a monochrome 1-bit image. Optionally, the image can be scaled.

Parameters:
  `img` - the image to be converted
  `targetDimension` - the new target dimensions or null if no scaling is necessary
  `quality` - Defines the desired quality level for the conversion. Valid values: a value between 0.0f (fastest) and 1.0f (best)
Returns:
  the monochrome image

#### toBufferedImage

    public static BufferedImage toBufferedImage(RenderedImage img)

Returns a BufferedImage based on the given RenderedImage. In the easiest case, this is a simple typecast. Otherwise, the image is converted to a BufferedImage.

Parameters:
  `img` - the original image
Returns:
  the buffered image

#### createDefaultMonochromeBitmapConverter

    public static MonochromeBitmapConverter createDefaultMonochromeBitmapConverter()

Returns:
  the bitmap converter