public ArrayList getElements() throws ImageReadException { ArrayList result = new ArrayList(); result.add(header); for (int i = 0; i < directories.size(); i++) { TiffDirectory directory = (TiffDirectory) directories.get(i); result.add(directory); ArrayList fields = directory.entries; for (int j = 0; j < fields.size(); j++) { TiffField field = (TiffField) fields.get(j); TiffElement oversizeValue = field.getOversizeValueElement(); if (null != oversizeValue) result.add(oversizeValue); } if (directory.hasTiffImageData()) result.addAll(directory.getTiffRawImageDataElements()); if (directory.hasJpegImageData()) result.add(directory.getJpegRawImageDataElement()); } return result; }
public ArrayList getElements() throws ImageReadException { ArrayList result = new ArrayList(); result.add(header); for (int i = 0; i < directories.size(); i++) { TiffDirectory directory = (TiffDirectory) directories.get(i); result.add(directory); ArrayList fields = directory.entries; for (int j = 0; j < fields.size(); j++) { TiffField field = (TiffField) fields.get(j); TiffElement oversizeValue = field.getOversizeValueElement(); if (null != oversizeValue) result.add(oversizeValue); } if (directory.hasTiffImageData()) result.addAll(directory.getTiffRawImageDataElements()); if (directory.hasJpegImageData()) result.add(directory.getJpegRawImageDataElement()); } return result; }
private JpegImageData getJpegRawImageData(ByteSource byteSource, TiffDirectory directory) throws ImageReadException, IOException { ImageDataElement element = directory.getJpegRawImageDataElement(); int offset = element.offset; int length = element.length; // Sony DCR-PC110 has an off-by-one error. if (offset + length == byteSource.getLength() + 1) length--; byte data[] = byteSource.getBlock(offset, length); return new JpegImageData(offset, length, data); }
private JpegImageData getJpegRawImageData(ByteSource byteSource, TiffDirectory directory) throws ImageReadException, IOException { ImageDataElement element = directory.getJpegRawImageDataElement(); int offset = element.offset; int length = element.length; // Sony DCR-PC110 has an off-by-one error. if (offset + length == byteSource.getLength() + 1) length--; byte data[] = byteSource.getBlock(offset, length); return new JpegImageData(offset, length, data); }