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) int
static final int[]
Compression tag values for known compression types.static final String[]
Known TIFF compression types.(package private) TIFFCompressor
private static final boolean
static final int
(package private) static final String
(package private) long
(package private) RenderedImage
(package private) TIFFImageMetadata
(package private) ImageTypeSpecifier
private boolean
(package private) boolean
static final boolean[]
Lossless flag for known compression types.(package private) boolean
private boolean
(package private) boolean
(package private) boolean
(package private) boolean
private 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) int
private TIFFImageReader
private long[]
private long
private int
private Object
private TIFFImageMetadata
private long
private Rectangle
private 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) TIFFStreamMetadata
static final String[]
Supported TIFF compression types.(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
Fields inherited from class javax.imageio.ImageWriter
availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocales
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
canInsertEmpty
(int imageIndex) boolean
canInsertImage
(int imageIndex) boolean
canReplacePixels
(int imageIndex) boolean
boolean
private void
checkParamsEmpty
(ImageTypeSpecifier imageType, int width, int height, List thumbnails) convertImageMetadata
(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) private TIFFImageMetadata
Converts a nativecom_sun_media_imageio_plugins_tiff_image_1.0
tree to aTIFFImageMetadata
object.private TIFFImageMetadata
Converts a standardjavax_imageio_1.0
tree to aTIFFImageMetadata
object.convertStreamMetadata
(IIOMetadata inData, ImageWriteParam param) void
dispose()
void
void
void
void
private boolean
equals
(int[] s0, int[] s1) getDefaultImageMetadata
(ImageTypeSpecifier imageType, ImageWriteParam param) private void
initializeScaleTables
(int[] sampleSize) private void
insert
(int imageIndex, IIOImage image, ImageWriteParam param, boolean writeData) private boolean
private void
locateIFD
(int imageIndex, long[] ifdpos, long[] ifd) void
prepareInsertEmpty
(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) void
prepareReplacePixels
(int imageIndex, Rectangle region) void
prepareWriteEmpty
(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) void
prepareWriteSequence
(IIOMetadata streamMetadata) private TIFFIFD
readIFD
(int imageIndex) void
replacePixels
(Raster raster, ImageWriteParam param) void
replacePixels
(RenderedImage image, ImageWriteParam param) void
reset()
void
(package private) void
setupMetadata
(ColorModel cm, SampleModel sm, int destWidth, int destHeight) Sets up the output metadata adding, removing, and overriding fields as needed.private Raster
subsample
(Raster raster, int[] sourceBands, int subOriginX, int subOriginY, int subPeriodX, int subPeriodY, int dstOffsetX, int dstOffsetY, Rectangle target) void
write
(IIOMetadata sm, IIOImage iioimage, ImageWriteParam p) private void
write
(IIOMetadata sm, IIOImage iioimage, ImageWriteParam p, boolean writeHeader, boolean writeData) private void
void
writeInsert
(int imageIndex, IIOImage image, ImageWriteParam param) private int
writeTile
(Rectangle tileRect, TIFFCompressor compressor) void
writeToSequence
(IIOImage image, ImageWriteParam param) 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.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.Methods inherited from class javax.imageio.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
, anArithmeticException
will 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
, anArithmeticException
will be thrown.- Throws:
ArithmeticException
- IftileHeight == 0
.
-
getDefaultWriteParam
- Overrides:
getDefaultWriteParam
in classImageWriter
-
setOutput
- Overrides:
setOutput
in classImageWriter
-
getDefaultStreamMetadata
- Specified by:
getDefaultStreamMetadata
in classImageWriter
-
getDefaultImageMetadata
- Specified by:
getDefaultImageMetadata
in classImageWriter
-
convertStreamMetadata
- Specified by:
convertStreamMetadata
in interfaceImageTranscoder
- Specified by:
convertStreamMetadata
in classImageWriter
-
convertImageMetadata
public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) - Specified by:
convertImageMetadata
in interfaceImageTranscoder
- Specified by:
convertImageMetadata
in classImageWriter
-
convertStandardImageMetadata
private TIFFImageMetadata convertStandardImageMetadata(IIOMetadata inData) throws IIOInvalidTreeException Converts a standardjavax_imageio_1.0
tree to aTIFFImageMetadata
object.- Parameters:
inData
- The metadata object.- Returns:
- a
TIFFImageMetadata
ornull
if the standard tree derived from the input object isnull
. - Throws:
IllegalArgumentException
- ifinData
isnull
or does not support the standard metadata format.IIOInvalidTreeException
- ifinData
generates an invalid standard metadata tree.
-
convertNativeImageMetadata
private TIFFImageMetadata convertNativeImageMetadata(IIOMetadata inData) throws IIOInvalidTreeException Converts a nativecom_sun_media_imageio_plugins_tiff_image_1.0
tree to aTIFFImageMetadata
object.- Parameters:
inData
- The metadata object.- Returns:
- a
TIFFImageMetadata
ornull
if the native tree derived from the input object isnull
. - Throws:
IllegalArgumentException
- ifinData
isnull
or does not support the native metadata format.IIOInvalidTreeException
- ifinData
generates 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
- TheColorModel
of the image being written.sm
- TheSampleModel
of 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:
write
in 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:
canWriteSequence
in classImageWriter
-
prepareWriteSequence
- Overrides:
prepareWriteSequence
in classImageWriter
- Throws:
IOException
-
writeToSequence
- Overrides:
writeToSequence
in classImageWriter
- Throws:
IOException
-
endWriteSequence
- Overrides:
endWriteSequence
in classImageWriter
- Throws:
IOException
-
canInsertImage
- Overrides:
canInsertImage
in classImageWriter
- Throws:
IOException
-
locateIFD
- Throws:
IOException
-
writeInsert
- Overrides:
writeInsert
in 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:
canInsertEmpty
in classImageWriter
- Throws:
IOException
-
canWriteEmpty
- Overrides:
canWriteEmpty
in 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:
prepareInsertEmpty
in classImageWriter
- Throws:
IOException
-
prepareWriteEmpty
public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List thumbnails, ImageWriteParam param) throws IOException - Overrides:
prepareWriteEmpty
in classImageWriter
- Throws:
IOException
-
endInsertEmpty
- Overrides:
endInsertEmpty
in classImageWriter
- Throws:
IOException
-
endWriteEmpty
- Overrides:
endWriteEmpty
in classImageWriter
- Throws:
IOException
-
readIFD
- Throws:
IOException
-
canReplacePixels
- Overrides:
canReplacePixels
in classImageWriter
- Throws:
IOException
-
prepareReplacePixels
- Overrides:
prepareReplacePixels
in classImageWriter
- Throws:
IOException
-
subsample
-
replacePixels
- Overrides:
replacePixels
in classImageWriter
- Throws:
IOException
-
replacePixels
- Overrides:
replacePixels
in classImageWriter
- Throws:
IOException
-
endReplacePixels
- Overrides:
endReplacePixels
in classImageWriter
- Throws:
IOException
-
reset
public void reset()- Overrides:
reset
in classImageWriter
-
dispose
public void dispose()- Overrides:
dispose
in classImageWriter
-