Class TIFFImageWriter
java.lang.Object
javax.imageio.ImageWriter
com.github.jaiimageio.impl.plugins.tiff.TIFFImageWriter
- All Implemented Interfaces:
ImageTranscoder
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int(package private) char[](package private) ByteOrder(package private) TIFFColorConverter(package private) intstatic final int[]Compression tag values for known compression types.static final String[]Known TIFF compression types.(package private) TIFFCompressorprivate static final booleanstatic final int(package private) static final String(package private) long(package private) RenderedImage(package private) TIFFImageMetadata(package private) ImageTypeSpecifierprivate boolean(package private) booleanstatic final boolean[]Lossless flag for known compression types.(package private) booleanprivate boolean(package private) boolean(package private) boolean(package private) booleanprivate boolean(package private) boolean(package private) int(package private) long(package private) long(package private) int(package private) ImageWriteParam(package private) int(package private) int(package private) int(package private) int(package private) intprivate TIFFImageReaderprivate long[]private longprivate intprivate Objectprivate TIFFImageMetadataprivate longprivate Rectangleprivate long[](package private) int(package private) int[](package private) byte[][](package private) byte[](package private) byte[][](package private) byte[][](package private) int(package private) int[](package private) int(package private) int(package private) int(package private) int(package private) ImageOutputStream(package private) TIFFStreamMetadatastatic final String[]Supported TIFF compression types.(package private) int(package private) int(package private) int(package private) int(package private) intFields inherited from class ImageWriter
availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocales -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanInsertEmpty(int imageIndex) booleancanInsertImage(int imageIndex) booleancanReplacePixels(int imageIndex) booleanbooleanprivate voidcheckParamsEmpty(ImageTypeSpecifier imageType, int width, int height, List thumbnails) convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) private TIFFImageMetadataConverts a nativecom_sun_media_imageio_plugins_tiff_image_1.0tree to aTIFFImageMetadataobject.private TIFFImageMetadataConverts a standardjavax_imageio_1.0tree to aTIFFImageMetadataobject.convertStreamMetadata(IIOMetadata inData, ImageWriteParam param) voiddispose()voidvoidvoidvoidprivate booleanequals(int[] s0, int[] s1) getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param) private voidinitializeScaleTables(int[] sampleSize) private voidinsert(int imageIndex, IIOImage image, ImageWriteParam param, boolean writeData) private booleanprivate voidlocateIFD(int imageIndex, long[] ifdpos, long[] ifd) voidprepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) voidprepareReplacePixels(int imageIndex, Rectangle region) voidprepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) voidprepareWriteSequence(IIOMetadata streamMetadata) private TIFFIFDreadIFD(int imageIndex) voidreplacePixels(Raster raster, ImageWriteParam param) voidreplacePixels(RenderedImage image, ImageWriteParam param) voidreset()void(package private) voidsetupMetadata(ColorModel cm, SampleModel sm, int destWidth, int destHeight) Sets up the output metadata adding, removing, and overriding fields as needed.private Rastersubsample(Raster raster, int[] sourceBands, int subOriginX, int subOriginY, int subPeriodX, int subPeriodY, int dstOffsetX, int dstOffsetY, Rectangle target) voidwrite(IIOMetadata sm, IIOImage iioimage, ImageWriteParam p) private voidwrite(IIOMetadata sm, IIOImage iioimage, ImageWriteParam p, boolean writeHeader, boolean writeData) private voidvoidwriteInsert(int imageIndex, IIOImage image, ImageWriteParam param) private intwriteTile(Rectangle tileRect, TIFFCompressor compressor) voidwriteToSequence(IIOImage image, ImageWriteParam param) static intXToTileX(int x, int tileGridXOffset, int tileWidth) Converts a pixel's X coordinate into a horizontal tile index relative to a given tile grid layout specified by its X offset and tile width.static intYToTileY(int y, int tileGridYOffset, int tileHeight) Converts a pixel's Y coordinate into a vertical tile index relative to a given tile grid layout specified by its Y offset and tile height.Methods inherited from class ImageWriter
abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canRemoveImage, canReplaceImageMetadata, canReplaceStreamMetadata, canWriteRasters, clearAbortRequest, getAvailableLocales, getLocale, getNumThumbnailsSupported, getOriginatingProvider, getOutput, getPreferredThumbnailSizes, processImageComplete, processImageProgress, processImageStarted, processThumbnailComplete, processThumbnailProgress, processThumbnailStarted, processWarningOccurred, processWarningOccurred, processWriteAborted, removeAllIIOWriteProgressListeners, removeAllIIOWriteWarningListeners, removeIIOWriteProgressListener, removeIIOWriteWarningListener, removeImage, replaceImageMetadata, replaceStreamMetadata, setLocale, write, write
-
Field Details
-
DEBUG
private static final boolean DEBUG- See Also:
-
EXIF_JPEG_COMPRESSION_TYPE
- See Also:
-
DEFAULT_BYTES_PER_STRIP
public static final int DEFAULT_BYTES_PER_STRIP- See Also:
-
TIFFCompressionTypes
Supported TIFF compression types. -
compressionTypes
Known TIFF compression types. -
isCompressionLossless
public static final boolean[] isCompressionLosslessLossless flag for known compression types. -
compressionNumbers
public static final int[] compressionNumbersCompression tag values for known compression types. -
stream
ImageOutputStream stream -
headerPosition
long headerPosition -
image
RenderedImage image -
imageType
ImageTypeSpecifier imageType -
byteOrder
ByteOrder byteOrder -
param
ImageWriteParam param -
compressor
TIFFCompressor compressor -
colorConverter
TIFFColorConverter colorConverter -
streamMetadata
TIFFStreamMetadata streamMetadata -
imageMetadata
TIFFImageMetadata imageMetadata -
sourceXOffset
int sourceXOffset -
sourceYOffset
int sourceYOffset -
sourceWidth
int sourceWidth -
sourceHeight
int sourceHeight -
sourceBands
int[] sourceBands -
periodX
int periodX -
periodY
int periodY -
bitDepth
int bitDepth -
numBands
int numBands -
tileWidth
int tileWidth -
tileLength
int tileLength -
tilesAcross
int tilesAcross -
tilesDown
int tilesDown -
sampleSize
int[] sampleSize -
scalingBitDepth
int scalingBitDepth -
isRescaling
boolean isRescaling -
isBilevel
boolean isBilevel -
isImageSimple
boolean isImageSimple -
isInverted
boolean isInverted -
isTiled
boolean isTiled -
nativePhotometricInterpretation
int nativePhotometricInterpretation -
photometricInterpretation
int photometricInterpretation -
bitsPerSample
char[] bitsPerSample -
sampleFormat
int sampleFormat -
scale
byte[][] scale -
scale0
byte[] scale0 -
scaleh
byte[][] scaleh -
scalel
byte[][] scalel -
compression
int compression -
predictor
int predictor -
totalPixels
int totalPixels -
pixelsDone
int pixelsDone -
nextIFDPointerPos
long nextIFDPointerPos -
nextSpace
long nextSpace -
isWritingSequence
boolean isWritingSequence -
isInsertingEmpty
private boolean isInsertingEmpty -
isWritingEmpty
private boolean isWritingEmpty -
replacePixelsLock
-
replacePixelsIndex
private int replacePixelsIndex -
replacePixelsMetadata
-
replacePixelsTileOffsets
private long[] replacePixelsTileOffsets -
replacePixelsByteCounts
private long[] replacePixelsByteCounts -
replacePixelsOffsetsPosition
private long replacePixelsOffsetsPosition -
replacePixelsByteCountsPosition
private long replacePixelsByteCountsPosition -
replacePixelsRegion
-
inReplacePixelsNest
private boolean inReplacePixelsNest -
reader
-
-
Constructor Details
-
TIFFImageWriter
-
-
Method Details
-
XToTileX
public static int XToTileX(int x, int tileGridXOffset, int tileWidth) Converts a pixel's X coordinate into a horizontal tile index relative to a given tile grid layout specified by its X offset and tile width.If
tileWidth invalid input: '<' 0, the results of this method are undefined. IftileWidth == 0, anArithmeticExceptionwill be thrown.- Throws:
ArithmeticException- IftileWidth == 0.
-
YToTileY
public static int YToTileY(int y, int tileGridYOffset, int tileHeight) Converts a pixel's Y coordinate into a vertical tile index relative to a given tile grid layout specified by its Y offset and tile height.If
tileHeight invalid input: '<' 0, the results of this method are undefined. IftileHeight == 0, anArithmeticExceptionwill be thrown.- Throws:
ArithmeticException- IftileHeight == 0.
-
getDefaultWriteParam
- Overrides:
getDefaultWriteParamin classImageWriter
-
setOutput
- Overrides:
setOutputin classImageWriter
-
getDefaultStreamMetadata
- Specified by:
getDefaultStreamMetadatain classImageWriter
-
getDefaultImageMetadata
- Specified by:
getDefaultImageMetadatain classImageWriter
-
convertStreamMetadata
- Specified by:
convertStreamMetadatain interfaceImageTranscoder- Specified by:
convertStreamMetadatain classImageWriter
-
convertImageMetadata
public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) - Specified by:
convertImageMetadatain interfaceImageTranscoder- Specified by:
convertImageMetadatain classImageWriter
-
convertStandardImageMetadata
private TIFFImageMetadata convertStandardImageMetadata(IIOMetadata inData) throws IIOInvalidTreeException Converts a standardjavax_imageio_1.0tree to aTIFFImageMetadataobject.- Parameters:
inData- The metadata object.- Returns:
- a
TIFFImageMetadataornullif the standard tree derived from the input object isnull. - Throws:
IllegalArgumentException- ifinDataisnullor does not support the standard metadata format.IIOInvalidTreeException- ifinDatagenerates an invalid standard metadata tree.
-
convertNativeImageMetadata
private TIFFImageMetadata convertNativeImageMetadata(IIOMetadata inData) throws IIOInvalidTreeException Converts a nativecom_sun_media_imageio_plugins_tiff_image_1.0tree to aTIFFImageMetadataobject.- Parameters:
inData- The metadata object.- Returns:
- a
TIFFImageMetadataornullif the native tree derived from the input object isnull. - Throws:
IllegalArgumentException- ifinDataisnullor does not support the native metadata format.IIOInvalidTreeException- ifinDatagenerates an invalid native metadata tree.
-
setupMetadata
void setupMetadata(ColorModel cm, SampleModel sm, int destWidth, int destHeight) throws IIOException Sets up the output metadata adding, removing, and overriding fields as needed. The destination image dimensions are provided as parameters because these might differ from those of the source due to subsampling.- Parameters:
cm- TheColorModelof the image being written.sm- TheSampleModelof the image being written.destWidth- The width of the written image after subsampling.destHeight- The height of the written image after subsampling.- Throws:
IIOException
-
writeTile
- Parameters:
tileRect- The area to be written which might be outside the image.- Throws:
IOException
-
equals
private boolean equals(int[] s0, int[] s1) -
initializeScaleTables
private void initializeScaleTables(int[] sampleSize) -
write
- Specified by:
writein classImageWriter- Throws:
IOException
-
writeHeader
- Throws:
IOException
-
write
private void write(IIOMetadata sm, IIOImage iioimage, ImageWriteParam p, boolean writeHeader, boolean writeData) throws IOException - Throws:
IOException
-
canWriteSequence
public boolean canWriteSequence()- Overrides:
canWriteSequencein classImageWriter
-
prepareWriteSequence
- Overrides:
prepareWriteSequencein classImageWriter- Throws:
IOException
-
writeToSequence
- Overrides:
writeToSequencein classImageWriter- Throws:
IOException
-
endWriteSequence
- Overrides:
endWriteSequencein classImageWriter- Throws:
IOException
-
canInsertImage
- Overrides:
canInsertImagein classImageWriter- Throws:
IOException
-
locateIFD
- Throws:
IOException
-
writeInsert
- Overrides:
writeInsertin classImageWriter- Throws:
IOException
-
insert
private void insert(int imageIndex, IIOImage image, ImageWriteParam param, boolean writeData) throws IOException - Throws:
IOException
-
isEncodingEmpty
private boolean isEncodingEmpty() -
canInsertEmpty
- Overrides:
canInsertEmptyin classImageWriter- Throws:
IOException
-
canWriteEmpty
- Overrides:
canWriteEmptyin classImageWriter- Throws:
IOException
-
checkParamsEmpty
-
prepareInsertEmpty
public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) throws IOException - Overrides:
prepareInsertEmptyin classImageWriter- Throws:
IOException
-
prepareWriteEmpty
public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) throws IOException - Overrides:
prepareWriteEmptyin classImageWriter- Throws:
IOException
-
endInsertEmpty
- Overrides:
endInsertEmptyin classImageWriter- Throws:
IOException
-
endWriteEmpty
- Overrides:
endWriteEmptyin classImageWriter- Throws:
IOException
-
readIFD
- Throws:
IOException
-
canReplacePixels
- Overrides:
canReplacePixelsin classImageWriter- Throws:
IOException
-
prepareReplacePixels
- Overrides:
prepareReplacePixelsin classImageWriter- Throws:
IOException
-
subsample
-
replacePixels
- Overrides:
replacePixelsin classImageWriter- Throws:
IOException
-
replacePixels
- Overrides:
replacePixelsin classImageWriter- Throws:
IOException
-
endReplacePixels
- Overrides:
endReplacePixelsin classImageWriter- Throws:
IOException
-
reset
public void reset()- Overrides:
resetin classImageWriter
-
dispose
public void dispose()- Overrides:
disposein classImageWriter
-