Overview | Package | Class | Tree | Deprecated | Index | Help
| JNA API 3.3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jna.platform
Class RasterRangesUtils

    java.lang.Object
      com.sun.jna.platform.RasterRangesUtils

    public class RasterRangesUtils

extends Object

Methods that are useful to decompose a raster into a set of rectangles. An occupied pixel has two possible meanings, depending on the raster :

- if the raster has an alpha layer, occupied means with alpha not null
- if the raster doesn't have any alpha layer, occupied means not completely black

Author:
  Olivier Chafik

Nested Class Summary
`static interface` | `RasterRangesUtils.RangesOutput` Abstraction of a sink for ranges.

Constructor Summary
`RasterRangesUtils()`

Method Summary
`static boolean` | `outputOccupiedRanges(int[] pixels, int w, int h, int occupationMask, RasterRangesUtils.RangesOutput out)` Output the occupied values of an integer-pixels image as ranges of contiguous values.
`static boolean` | `outputOccupiedRanges(Raster raster, RasterRangesUtils.RangesOutput out)` Outputs ranges of occupied pixels.
`static boolean` | `outputOccupiedRangesOfBinaryPixels(byte[] binaryBits, int w, int h, RasterRangesUtils.RangesOutput out)` Output the non-null values of a binary image as ranges of contiguous values.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RasterRangesUtils

    public RasterRangesUtils()

Method Detail

### outputOccupiedRanges

    public static boolean outputOccupiedRanges(Raster raster,
                                               RasterRangesUtils.RangesOutput out)

  Outputs ranges of occupied pixels. In a raster that has an alpha layer, a pixel is occupied if its alpha value is not null. In a raster without alpha layer, a pixel is occupied if it is not completely black.

  Parameters:
    `raster` - image to be segmented in non black or non-transparent ranges
    `out` - destination of the non null ranges
  Returns:
    true if the output succeeded, false otherwise

### outputOccupiedRangesOfBinaryPixels

    public static boolean outputOccupiedRangesOfBinaryPixels(byte[] binaryBits,
                                                             int w,
                                                             int h,
                                                             RasterRangesUtils.RangesOutput out)

  Output the non-null values of a binary image as ranges of contiguous values.

  Parameters:
    `binaryBits` - byte-packed binary bits of an image
    `w` - width of the image (in pixels)
    `h` - height of the image
    `out` -
  Returns:
    true if the output succeeded, false otherwise

### outputOccupiedRanges

    public static boolean outputOccupiedRanges(int[] pixels,
                                               int w,
                                               int h,
                                               int occupationMask,
                                               RasterRangesUtils.RangesOutput out)

  Output the occupied values of an integer-pixels image as ranges of contiguous values. A pixel is considered occupied if the bitwise AND of its integer value with the provided occupationMask is not null.

  Parameters:
    `pixels` - integer values of the pixels of an image
    `w` - width of the image (in pixels)
    `h` - height of the image
    `occupationMask` - mask used to select which bits are used in a pixel to check its occupied status. 0xff000000 would only take the alpha layer into account, for instance.
    `out` - where to output all the contiguous ranges of non occupied pixels
  Returns:
    true if the output succeeded, false otherwise

Overview | Package | Class | Tree | Deprecated | Index | Help
| JNA API 3.3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2007-2010 Timothy Wall. All Rights Reserved.