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
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright © 2025 Apache Software Foundation. All rights reserved.