Esempio n. 1
0
  private byte[] extractOverlay(int gg0000, WritableRaster raster) {
    Attributes attrs = metadata.getAttributes();

    if (attrs.getInt(Tag.OverlayBitsAllocated | gg0000, 1) == 1) return null;

    int ovlyRows = attrs.getInt(Tag.OverlayRows | gg0000, 0);
    int ovlyColumns = attrs.getInt(Tag.OverlayColumns | gg0000, 0);
    int bitPosition = attrs.getInt(Tag.OverlayBitPosition | gg0000, 0);

    int mask = 1 << bitPosition;
    int length = ovlyRows * ovlyColumns;

    byte[] ovlyData = new byte[(((length + 7) >>> 3) + 1) & (~1)];
    Overlays.extractFromPixeldata(raster, mask, ovlyData, 0, length);
    return ovlyData;
  }