BinaryBitmap (ZXing 3.5.2 API)
Description: declaration: package: com.google.zxing, class: BinaryBitmap

Package com.google.zxing

# Class BinaryBitmap

java.lang.Object
com.google.zxing.BinaryBitmap

public final class BinaryBitmap extends Object
This class is the core bitmap class used by ZXing to represent 1 bit data. Reader objects accept a BinaryBitmap and attempt to decode it.

Author:
  dswitkin@google.com (Daniel Switkin)

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BinaryBitmap(Binarizer binarizer)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BinaryBitmap`
  `crop(int left, int top, int width, int height)`
  Returns a new object with cropped image data.
  `BitMatrix`
  `getBlackMatrix()`
  Converts a 2D array of luminance data to 1 bit.
  `BitArray`
  `getBlackRow(int y, BitArray row)`
  Converts one row of luminance data to 1 bit data.
  `int`
  `getHeight()`
  `int`
  `getWidth()`
  `boolean`
  `isCropSupported()`
  `boolean`
  `isRotateSupported()`
  `BinaryBitmap`
  `rotateCounterClockwise()`
  Returns a new object with rotated image data by 90 degrees counterclockwise.
  `BinaryBitmap`
  `rotateCounterClockwise45()`
  Returns a new object with rotated image data by 45 degrees counterclockwise.
  `String`
  `toString()`

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

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

- ## Constructor Details

  - ### BinaryBitmap

    public BinaryBitmap(Binarizer binarizer)

- ## Method Details

  - ### getWidth

    public int getWidth()
    Returns:
      The width of the bitmap.

  - ### getHeight

    public int getHeight()
    Returns:
      The height of the bitmap.

  - ### getBlackRow

    public BitArray getBlackRow(int y, BitArray row) throws NotFoundException
    Converts one row of luminance data to 1 bit data. May actually do the conversion, or return cached data. Callers should assume this method is expensive and call it as seldom as possible. This method is intended for decoding 1D barcodes and may choose to apply sharpening.
    Parameters:
      `y` - The row to fetch, which must be in [0, bitmap height)
      `row` - An optional preallocated array. If null or too small, it will be ignored. If used, the Binarizer will call BitArray.clear(). Always use the returned object.
    Returns:
      The array of bits for this row (true means black).
    Throws:
      `NotFoundException` - if row can't be binarized

  - ### getBlackMatrix

    public BitMatrix getBlackMatrix() throws NotFoundException
    Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or may not apply sharpening. Therefore, a row from this matrix may not be identical to one fetched using getBlackRow(), so don't mix and match between them.
    Returns:
      The 2D array of bits for the image (true means black).
    Throws:
      `NotFoundException` - if image can't be binarized to make a matrix

  - ### isCropSupported

    public boolean isCropSupported()
    Returns:
      Whether this bitmap can be cropped.

  - ### crop

    public BinaryBitmap crop(int left, int top, int width, int height)
    Returns a new object with cropped image data. Implementations may keep a reference to the original data rather than a copy. Only callable if isCropSupported() is true.
    Parameters:
      `left` - The left coordinate, which must be in [0,getWidth())
      `top` - The top coordinate, which must be in [0,getHeight())
      `width` - The width of the rectangle to crop.
      `height` - The height of the rectangle to crop.
    Returns:
      A cropped version of this object.

  - ### isRotateSupported

    public boolean isRotateSupported()
    Returns:
      Whether this bitmap supports counter-clockwise rotation.

  - ### rotateCounterClockwise

    public BinaryBitmap rotateCounterClockwise()
    Returns a new object with rotated image data by 90 degrees counterclockwise. Only callable if `isRotateSupported()` is true.
    Returns:
      A rotated version of this object.

  - ### rotateCounterClockwise45

    public BinaryBitmap rotateCounterClockwise45()
    Returns a new object with rotated image data by 45 degrees counterclockwise. Only callable if `isRotateSupported()` is true.
    Returns:
      A rotated version of this object.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`