mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2025-08-05 04:25:29 -04:00
Simplified write logic, by reusing sequence writing (single image sequence).
This commit is contained in:
parent
90593117db
commit
156990afe0
@ -132,16 +132,9 @@ public final class TIFFImageWriter extends ImageWriterBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(final IIOMetadata streamMetadata, final IIOImage image, final ImageWriteParam param) throws IOException {
|
public void write(final IIOMetadata streamMetadata, final IIOImage image, final ImageWriteParam param) throws IOException {
|
||||||
assertOutput();
|
prepareWriteSequence(streamMetadata);
|
||||||
configureStreamByteOrder(streamMetadata, imageOutput);
|
writeToSequence(image, param);
|
||||||
|
endWriteSequence();
|
||||||
// TODO: Make TIFFEntry and possibly TIFFDirectory? public
|
|
||||||
TIFFWriter tiffWriter = new TIFFWriter();
|
|
||||||
tiffWriter.writeTIFFHeader(imageOutput);
|
|
||||||
|
|
||||||
writePage(0, image, param, tiffWriter, imageOutput.getStreamPosition());
|
|
||||||
|
|
||||||
imageOutput.flush();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private long writePage(int imageIndex, IIOImage image, ImageWriteParam param, TIFFWriter tiffWriter, long lastIFDPointerOffset)
|
private long writePage(int imageIndex, IIOImage image, ImageWriteParam param, TIFFWriter tiffWriter, long lastIFDPointerOffset)
|
||||||
@ -927,7 +920,7 @@ public final class TIFFImageWriter extends ImageWriterBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException {
|
public void prepareWriteSequence(final IIOMetadata streamMetadata) throws IOException {
|
||||||
if (writingSequence) {
|
if (writingSequence) {
|
||||||
throw new IllegalStateException("sequence writing has already been started!");
|
throw new IllegalStateException("sequence writing has already been started!");
|
||||||
}
|
}
|
||||||
@ -942,7 +935,7 @@ public final class TIFFImageWriter extends ImageWriterBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException {
|
public void writeToSequence(final IIOImage image, final ImageWriteParam param) throws IOException {
|
||||||
if (!writingSequence) {
|
if (!writingSequence) {
|
||||||
throw new IllegalStateException("prepareWriteSequence() must be called before writeToSequence()!");
|
throw new IllegalStateException("prepareWriteSequence() must be called before writeToSequence()!");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user