null), iwparam); ios.flush(); writer.dispose();
imageOutputStream.flush();
writer.setOutput(os); writer.write((IIOMetadata) null, new IIOImage(im, null, null), param); os.flush(); os.close();
writer.write(renderedImage); output.flush(); } catch (IOException e) { throw new IORuntimeException(e);
writer.write(renderedImage); output.flush(); } catch (IOException e) { throw new IORuntimeException(e);
@Override public void endWriteSequence() throws IOException { if (!writingSequence) { throw new IllegalStateException("prepareWriteSequence() must be called before endWriteSequence()!"); } writingSequence = false; sequenceIndex = 0; sequenceTIFFWriter = null; sequenceLastIFDPos = -1; imageOutput.flush(); }
/** Releases resources held by this {@link AbstractGridCoverageWriter}. */ public void dispose() { if (LOGGER.isLoggable(Level.FINE)) LOGGER.fine("Disposing writer:" + destination); if (outStream != null) { try { outStream.flush(); } catch (IOException e) { } finally { try { outStream.close(); } catch (Throwable e) { } } } }
@Override public void writeTo(OutputStream out) throws IOException { ImageWriter writer = null; Iterator<ImageWriter> writers = ImageIO.getImageWritersByMIMEType(contentType); if (writers.hasNext()) { writer = writers.next(); } if (writer != null) { BufferedImage bimg = convertToBufferedImage(img); ImageOutputStream iout = ImageIO.createImageOutputStream(out); writer.setOutput(iout); writer.write(bimg); writer.dispose(); iout.flush(); out.flush(); } } };
private void writeBody(ByteArrayOutputStream pImageData) throws IOException { imageOutput.writeInt(IFF.CHUNK_BODY); imageOutput.writeInt(pImageData.size()); // NOTE: This is much faster than imageOutput.write(pImageData.toByteArray()) // as the data array is not duplicated OutputStream adapter = IIOUtil.createStreamAdapter(imageOutput); try { pImageData.writeTo(adapter); } finally { adapter.close(); } if (pImageData.size() % 2 == 0) { imageOutput.writeByte(0); // PAD } imageOutput.flush(); }
outputStream.flush(); outputStream.close();
output.flush(); output.close();
params); outputStream.flush(); } finally {
@Test public void testNesting() throws IOException { TIFFEntry artist = new TIFFEntry(TIFF.TAG_SOFTWARE, TIFF.TYPE_ASCII, "TwelveMonkeys ImageIO"); TIFFEntry subSubSubSubIFD = new TIFFEntry(TIFF.TAG_SUB_IFD, TIFF.TYPE_LONG, new IFD(Collections.singletonList(artist))); TIFFEntry subSubSubIFD = new TIFFEntry(TIFF.TAG_SUB_IFD, TIFF.TYPE_LONG, new IFD(Collections.singletonList(subSubSubSubIFD))); TIFFEntry subSubIFD = new TIFFEntry(TIFF.TAG_SUB_IFD, TIFF.TYPE_LONG, new IFD(Collections.singletonList(subSubSubIFD))); TIFFEntry subIFD = new TIFFEntry(TIFF.TAG_SUB_IFD, TIFF.TYPE_LONG, new IFD(Collections.singletonList(subSubIFD))); Directory directory = new IFD(Collections.<Entry>singletonList(subIFD)); ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); new TIFFWriter().write(directory, imageStream); imageStream.flush(); assertEquals(output.size(), imageStream.getStreamPosition()); Directory read = new TIFFReader().read(new ByteArrayImageInputStream(output.toByteArray())); assertNotNull(read); assertEquals(1, read.size()); assertEquals(subIFD, read.getEntryById(TIFF.TAG_SUB_IFD)); // Recursively tests content! }
@Test public void testWriteMotorola() throws IOException { ArrayList<Entry> entries = new ArrayList<>(); entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); entries.add(new TIFFEntry(TIFF.TAG_IMAGE_WIDTH, TIFF.TYPE_LONG, Integer.MAX_VALUE)); Directory directory = new AbstractDirectory(entries) {}; ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); imageStream.setByteOrder(ByteOrder.BIG_ENDIAN); // BE = Motorola new TIFFWriter().write(directory, imageStream); imageStream.flush(); assertEquals(output.size(), imageStream.getStreamPosition()); byte[] data = output.toByteArray(); assertEquals(60, data.length); assertEquals('M', data[0]); assertEquals('M', data[1]); assertEquals(0, data[2]); assertEquals(42, data[3]); Directory read = new TIFFReader().read(new ByteArrayImageInputStream(data)); assertNotNull(read); assertEquals(2, read.size()); assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); assertEquals((long) Integer.MAX_VALUE, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); }
@Test public void testWriteIntel() throws IOException { ArrayList<Entry> entries = new ArrayList<>(); entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); entries.add(new TIFFEntry(TIFF.TAG_IMAGE_WIDTH, TIFF.TYPE_LONG, Integer.MAX_VALUE)); Directory directory = new AbstractDirectory(entries) {}; ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); imageStream.setByteOrder(ByteOrder.LITTLE_ENDIAN); // LE = Intel new TIFFWriter().write(directory, imageStream); imageStream.flush(); assertEquals(output.size(), imageStream.getStreamPosition()); byte[] data = output.toByteArray(); assertEquals(60, data.length); assertEquals('I', data[0]); assertEquals('I', data[1]); assertEquals(42, data[2]); assertEquals(0, data[3]); Directory read = new TIFFReader().read(new ByteArrayImageInputStream(data)); assertNotNull(read); assertEquals(2, read.size()); assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); assertEquals((long) Integer.MAX_VALUE, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); }
@Test public void testWriteMotorola() throws IOException { ArrayList<Entry> entries = new ArrayList<>(); entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); entries.add(new TIFFEntry(TIFF.TAG_IMAGE_WIDTH, TIFF.TYPE_LONG, Integer.MAX_VALUE)); Directory directory = new AbstractDirectory(entries) {}; ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); imageStream.setByteOrder(ByteOrder.BIG_ENDIAN); // BE = Motorola new TIFFWriter().write(directory, imageStream); imageStream.flush(); assertEquals(output.size(), imageStream.getStreamPosition()); byte[] data = output.toByteArray(); assertEquals(60, data.length); assertEquals('M', data[0]); assertEquals('M', data[1]); assertEquals(0, data[2]); assertEquals(42, data[3]); Directory read = new TIFFReader().read(new ByteArrayImageInputStream(data)); assertNotNull(read); assertEquals(2, read.size()); assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); assertEquals((long) Integer.MAX_VALUE, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); }
@Test public void testWriteIntel() throws IOException { ArrayList<Entry> entries = new ArrayList<>(); entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); entries.add(new TIFFEntry(TIFF.TAG_IMAGE_WIDTH, TIFF.TYPE_LONG, Integer.MAX_VALUE)); Directory directory = new AbstractDirectory(entries) {}; ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); imageStream.setByteOrder(ByteOrder.LITTLE_ENDIAN); // LE = Intel new TIFFWriter().write(directory, imageStream); imageStream.flush(); assertEquals(output.size(), imageStream.getStreamPosition()); byte[] data = output.toByteArray(); assertEquals(60, data.length); assertEquals('I', data[0]); assertEquals('I', data[1]); assertEquals(42, data[2]); assertEquals(0, data[3]); Directory read = new TIFFReader().read(new ByteArrayImageInputStream(data)); assertNotNull(read); assertEquals(2, read.size()); assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); assertEquals((long) Integer.MAX_VALUE, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); }
ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); new TIFFWriter().write(directory, imageStream); imageStream.flush();
ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); new TIFFWriter().write(directory, imageStream); imageStream.flush();
pbjImageWrite.setParameter("Format", extension); JAI.create("ImageWrite", pbjImageWrite); outstream.flush(); outstream.close();