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 classTIFFImageWriter.ListenerDelegate
-
Field Summary
Fields Modifier and Type Field Description private intsequenceIndexprivate longsequenceLastIFDPosPosition of last IFD Pointer on active sequence writingprivate TIFFWritersequenceTIFFWriterMetadata writer for sequence writingprivate booleanwritingSequenceFlag 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)booleancanWriteSequence()private intcomputePixelSize(java.awt.image.SampleModel sampleModel)TIFFImageMetadataconvertImageMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)javax.imageio.metadata.IIOMetadataconvertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)Returnsnullprivate javax.imageio.ImageWriteParamcopyParams(javax.imageio.ImageWriteParam param, javax.imageio.ImageWriter writer)private short[]createColorMap(java.awt.image.IndexColorModel colorModel, int sampleSize)private java.io.DataOutputcreateCompressorStream(java.awt.image.RenderedImage image, javax.imageio.ImageWriteParam param, java.util.Map<java.lang.Integer,Entry> entries)voidendWriteSequence()private static voidflushBuffer(byte[] buffer, int bufferPos, java.io.DataOutput stream)private static voidflushStream(java.io.DataOutput stream)TIFFImageMetadatagetDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)javax.imageio.metadata.IIOMetadatagetDefaultStreamMetadata(javax.imageio.ImageWriteParam param)Returnsnulljavax.imageio.ImageWriteParamgetDefaultWriteParam()private intgetPhotometricInterpretation(java.awt.image.ColorModel colorModel, int compression)private javax.imageio.IIOImageimageOnly(javax.imageio.IIOImage image)private TIFFImageMetadatainitMeta(Directory ifd, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)private booleanisBigTIFF()static voidmain(java.lang.String[] args)private voidmergeSafeMetadata(Directory ifd, java.util.Map<java.lang.Integer,Entry> entries)voidprepareWriteSequence(javax.imageio.metadata.IIOMetadata streamMetadata)protected voidresetMembers()voidsetOutput(java.lang.Object output)private intupScale(int color)voidwrite(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)private voidwriteImageData(java.io.DataOutput stream, int imageIndex, java.awt.image.RenderedImage renderedImage, int numComponents, int[] bandOffsets, int[] bitOffsets)private longwritePage(int imageIndex, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param, TIFFWriter tiffWriter, long lastIFDPointerOffset)voidwriteToSequence(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:
setOutputin classImageWriterBase
-
write
public void write(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException- Specified by:
writein 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:
getDefaultImageMetadatain classjavax.imageio.ImageWriter
-
convertImageMetadata
public TIFFImageMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
- Specified by:
convertImageMetadatain interfacejavax.imageio.ImageTranscoder- Specified by:
convertImageMetadatain 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:ImageWriterBaseReturnsnull- Overrides:
getDefaultStreamMetadatain 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:ImageWriterBaseReturnsnull- Specified by:
convertStreamMetadatain interfacejavax.imageio.ImageTranscoder- Overrides:
convertStreamMetadatain classImageWriterBase- Parameters:
inData- ignored.param- ignored.- Returns:
null.
-
getDefaultWriteParam
public javax.imageio.ImageWriteParam getDefaultWriteParam()
- Overrides:
getDefaultWriteParamin classjavax.imageio.ImageWriter
-
canWriteSequence
public boolean canWriteSequence()
- Overrides:
canWriteSequencein classjavax.imageio.ImageWriter
-
prepareWriteSequence
public void prepareWriteSequence(javax.imageio.metadata.IIOMetadata streamMetadata) throws java.io.IOException- Overrides:
prepareWriteSequencein 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:
writeToSequencein classjavax.imageio.ImageWriter- Throws:
java.io.IOException
-
endWriteSequence
public void endWriteSequence() throws java.io.IOException- Overrides:
endWriteSequencein classjavax.imageio.ImageWriter- Throws:
java.io.IOException
-
resetMembers
protected void resetMembers()
- Overrides:
resetMembersin classImageWriterBase
-
main
public static void main(java.lang.String[] args) throws java.io.IOException- Throws:
java.io.IOException
-
-