Class TIFFImageWriter
- java.lang.Object
-
- javax.imageio.ImageWriter
-
- com.twelvemonkeys.imageio.ImageWriterBase
-
- com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriter
-
- All Implemented Interfaces:
javax.imageio.ImageTranscoder
public final class TIFFImageWriter extends ImageWriterBase
TIFFImageWriter- Version:
- $Id: TIFFImageWriter.java,v 1.0 18.09.13 12:46 haraldk Exp$
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
TIFFImageWriter.ListenerDelegate
-
Field Summary
Fields Modifier and Type Field Description private int
sequenceIndex
private long
sequenceLastIFDPos
Position of last IFD Pointer on active sequence writingprivate TIFFWriter
sequenceTIFFWriter
Metadata writer for sequence writingprivate boolean
writingSequence
Flag for active sequence writing-
Fields inherited from class com.twelvemonkeys.imageio.ImageWriterBase
imageOutput
-
-
Constructor Summary
Constructors Constructor Description TIFFImageWriter(javax.imageio.spi.ImageWriterSpi provider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private short[]
asShortArray(int[] integers)
boolean
canWriteSequence()
private int
computePixelSize(java.awt.image.SampleModel sampleModel)
TIFFImageMetadata
convertImageMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
Returnsnull
private javax.imageio.ImageWriteParam
copyParams(javax.imageio.ImageWriteParam param, javax.imageio.ImageWriter writer)
private short[]
createColorMap(java.awt.image.IndexColorModel colorModel, int sampleSize)
private java.io.DataOutput
createCompressorStream(java.awt.image.RenderedImage image, javax.imageio.ImageWriteParam param, java.util.Map<java.lang.Integer,Entry> entries)
void
endWriteSequence()
private static void
flushBuffer(byte[] buffer, int bufferPos, java.io.DataOutput stream)
private static void
flushStream(java.io.DataOutput stream)
TIFFImageMetadata
getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
Returnsnull
javax.imageio.ImageWriteParam
getDefaultWriteParam()
private int
getPhotometricInterpretation(java.awt.image.ColorModel colorModel, int compression)
private javax.imageio.IIOImage
imageOnly(javax.imageio.IIOImage image)
private TIFFImageMetadata
initMeta(Directory ifd, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
private boolean
isBigTIFF()
static void
main(java.lang.String[] args)
private void
mergeSafeMetadata(Directory ifd, java.util.Map<java.lang.Integer,Entry> entries)
void
prepareWriteSequence(javax.imageio.metadata.IIOMetadata streamMetadata)
protected void
resetMembers()
void
setOutput(java.lang.Object output)
private int
upScale(int color)
void
write(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
private void
writeImageData(java.io.DataOutput stream, int imageIndex, java.awt.image.RenderedImage renderedImage, int numComponents, int[] bandOffsets, int[] bitOffsets)
private long
writePage(int imageIndex, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param, TIFFWriter tiffWriter, long lastIFDPointerOffset)
void
writeToSequence(javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
-
Methods inherited from class com.twelvemonkeys.imageio.ImageWriterBase
assertOutput, dispose, fakeAOI, fakeSubsampling, getFormatName, getSourceRegion, reset
-
Methods inherited from class javax.imageio.ImageWriter
abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canInsertEmpty, canInsertImage, canRemoveImage, canReplaceImageMetadata, canReplacePixels, canReplaceStreamMetadata, canWriteEmpty, canWriteRasters, clearAbortRequest, endInsertEmpty, endReplacePixels, endWriteEmpty, getAvailableLocales, getLocale, getNumThumbnailsSupported, getOriginatingProvider, getOutput, getPreferredThumbnailSizes, prepareInsertEmpty, prepareReplacePixels, prepareWriteEmpty, processImageComplete, processImageProgress, processImageStarted, processThumbnailComplete, processThumbnailProgress, processThumbnailStarted, processWarningOccurred, processWarningOccurred, processWriteAborted, removeAllIIOWriteProgressListeners, removeAllIIOWriteWarningListeners, removeIIOWriteProgressListener, removeIIOWriteWarningListener, removeImage, replaceImageMetadata, replacePixels, replacePixels, replaceStreamMetadata, setLocale, write, write, writeInsert
-
-
-
-
Field Detail
-
writingSequence
private boolean writingSequence
Flag for active sequence writing
-
sequenceIndex
private int sequenceIndex
-
sequenceTIFFWriter
private TIFFWriter sequenceTIFFWriter
Metadata writer for sequence writing
-
sequenceLastIFDPos
private long sequenceLastIFDPos
Position of last IFD Pointer on active sequence writing
-
-
Method Detail
-
setOutput
public void setOutput(java.lang.Object output)
- Overrides:
setOutput
in classImageWriterBase
-
write
public void write(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Specified by:
write
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
writePage
private long writePage(int imageIndex, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param, TIFFWriter tiffWriter, long lastIFDPointerOffset) throws java.io.IOException
- Throws:
java.io.IOException
-
imageOnly
private javax.imageio.IIOImage imageOnly(javax.imageio.IIOImage image)
-
copyParams
private javax.imageio.ImageWriteParam copyParams(javax.imageio.ImageWriteParam param, javax.imageio.ImageWriter writer)
-
computePixelSize
private int computePixelSize(java.awt.image.SampleModel sampleModel)
-
createCompressorStream
private java.io.DataOutput createCompressorStream(java.awt.image.RenderedImage image, javax.imageio.ImageWriteParam param, java.util.Map<java.lang.Integer,Entry> entries)
-
getPhotometricInterpretation
private int getPhotometricInterpretation(java.awt.image.ColorModel colorModel, int compression)
-
createColorMap
private short[] createColorMap(java.awt.image.IndexColorModel colorModel, int sampleSize)
-
upScale
private int upScale(int color)
-
asShortArray
private short[] asShortArray(int[] integers)
-
writeImageData
private void writeImageData(java.io.DataOutput stream, int imageIndex, java.awt.image.RenderedImage renderedImage, int numComponents, int[] bandOffsets, int[] bitOffsets) throws java.io.IOException
- Throws:
java.io.IOException
-
flushStream
private static void flushStream(java.io.DataOutput stream) throws java.io.IOException
- Throws:
java.io.IOException
-
flushBuffer
private static void flushBuffer(byte[] buffer, int bufferPos, java.io.DataOutput stream) throws java.io.IOException
- Throws:
java.io.IOException
-
getDefaultImageMetadata
public TIFFImageMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
- Specified by:
getDefaultImageMetadata
in classjavax.imageio.ImageWriter
-
convertImageMetadata
public TIFFImageMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
- Specified by:
convertImageMetadata
in interfacejavax.imageio.ImageTranscoder
- Specified by:
convertImageMetadata
in classjavax.imageio.ImageWriter
-
initMeta
private TIFFImageMetadata initMeta(Directory ifd, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
-
mergeSafeMetadata
private void mergeSafeMetadata(Directory ifd, java.util.Map<java.lang.Integer,Entry> entries)
-
getDefaultStreamMetadata
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
Description copied from class:ImageWriterBase
Returnsnull
- Overrides:
getDefaultStreamMetadata
in classImageWriterBase
- Parameters:
param
- ignored.- Returns:
null
.
-
convertStreamMetadata
public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
Description copied from class:ImageWriterBase
Returnsnull
- Specified by:
convertStreamMetadata
in interfacejavax.imageio.ImageTranscoder
- Overrides:
convertStreamMetadata
in classImageWriterBase
- Parameters:
inData
- ignored.param
- ignored.- Returns:
null
.
-
getDefaultWriteParam
public javax.imageio.ImageWriteParam getDefaultWriteParam()
- Overrides:
getDefaultWriteParam
in classjavax.imageio.ImageWriter
-
canWriteSequence
public boolean canWriteSequence()
- Overrides:
canWriteSequence
in classjavax.imageio.ImageWriter
-
prepareWriteSequence
public void prepareWriteSequence(javax.imageio.metadata.IIOMetadata streamMetadata) throws java.io.IOException
- Overrides:
prepareWriteSequence
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
isBigTIFF
private boolean isBigTIFF() throws java.io.IOException
- Throws:
java.io.IOException
-
writeToSequence
public void writeToSequence(javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
writeToSequence
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
endWriteSequence
public void endWriteSequence() throws java.io.IOException
- Overrides:
endWriteSequence
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
resetMembers
protected void resetMembers()
- Overrides:
resetMembers
in classImageWriterBase
-
main
public static void main(java.lang.String[] args) throws java.io.IOException
- Throws:
java.io.IOException
-
-