@Override public void endWriteSequence() throws IOException { delegate.endWriteSequence(); }
writer.endWriteSequence(); writer.dispose();
writer.endWriteSequence(); writer.dispose();
@Test(expected = IllegalStateException.class) public void testEndSequenceNotStarted() throws IOException { // ICNS only supports sizes in multiples of 2 (16, 32, 64, ..., 1024 + 48 and 96) ImageWriter writer = createImageWriter(); try (ImageOutputStream stream = ImageIO.createImageOutputStream(new ByteArrayOutputStream())) { writer.setOutput(stream); writer.endWriteSequence(); } finally { writer.dispose(); } }
@Test public void testWriteSequence() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream output = new ByteArrayOutputStream(); try (ImageOutputStream stream = ImageIO.createImageOutputStream(output)) { writer.setOutput(stream); writer.prepareWriteSequence(null); for (RenderedImage image : getTestData()) { IIOImage iioImage = new IIOImage(image, null, null); writer.writeToSequence(iioImage, writer.getDefaultWriteParam()); } writer.endWriteSequence(); } finally { writer.dispose(); } } }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. */ public void close() throws IOException { gifWriter.endWriteSequence(); }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. * * @throws IOException IOException */ public void close() throws IOException { gifWriter.endWriteSequence(); }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. */ public void close() throws IOException { gifWriter.endWriteSequence(); }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. */ public void close() throws IOException { gifWriter.endWriteSequence(); }
/** * Close this GifSequenceWriter object. This does not close the underlying stream, just finishes off the GIF. * * @throws IOException the io exception */ public void close() throws IOException { gifWriter.endWriteSequence(); } }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. * * @throws IOException */ public void close() throws IOException { gifWriter.endWriteSequence(); }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. */ public void close() throws IOException { gifWriter.endWriteSequence(); }
/** * Close this GifSequenceWriter object. This does not close the underlying * stream, just finishes off the GIF. * * @throws IOException */ public void close() throws IOException { gifWriter.endWriteSequence(); }
@Override public void endWriteSequence() throws IOException { delegate.endWriteSequence(); }
@Override public void closeDestination() throws TaskIOException { if (nonNull(writer)) { try { writer.endWriteSequence(); } catch (IOException e) { throw new TaskIOException("An error occurred while ending write sequence", e); } } super.closeDestination(); }
public byte[] createImage() throws Exception { ImageWriter iw = ImageIO.getImageWritersByFormatName("gif").next(); ByteArrayOutputStream os = new ByteArrayOutputStream(); ImageOutputStream ios = ImageIO.createImageOutputStream(os); iw.setOutput(ios); iw.prepareWriteSequence(null); int i = 0; for (AnimationFrame animationFrame : frameCollection) { BufferedImage src = animationFrame.getImage(); ImageWriteParam iwp = iw.getDefaultWriteParam(); IIOMetadata metadata = iw.getDefaultImageMetadata( new ImageTypeSpecifier(src), iwp); configure(metadata, "" + animationFrame.getDelay(), i); IIOImage ii = new IIOImage(src, null, metadata); iw.writeToSequence(ii, null); i++; } iw.endWriteSequence(); ios.close(); return os.toByteArray(); }
void saveAsMultipageTIFF(ArrayList<BufferedImage> bimTab, String filename, int dpi) throws IOException { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("tiff"); ImageWriter imageWriter = writers.next(); ImageOutputStream ios = ImageIO.createImageOutputStream(new File(filename)); imageWriter.setOutput(ios); imageWriter.prepareWriteSequence(null); for (BufferedImage image : bimTab) { ImageWriteParam param = imageWriter.getDefaultWriteParam(); IIOMetadata metadata = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(image), param); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); TIFFUtil.setCompressionType(param, image); TIFFUtil.updateMetadata(metadata, image, dpi); imageWriter.writeToSequence(new IIOImage(image, null, metadata), param); } imageWriter.endWriteSequence(); imageWriter.dispose(); ios.flush(); ios.close(); }
thisImage = thisImage = ... a java.awt.Image from a scanner if(thisImage!=null){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageOutputStream ios = ImageIO.createImageOutputStream(baos); boolean foundWriter = false; BufferedImage bimg = new BufferedImage(thisImage.getWidth(null),thisImage.getHeight(null), BufferedImage.TYPE_BYTE_BINARY); bimg.createGraphics().drawImage(thisImage, 0, 0, null); for(Iterator<ImageWriter> writerIter = ImageIO.getImageWritersByFormatName("tif"); writerIter.hasNext() && !foundWriter;) { foundWriter = true; ImageWriter writer = (ImageWriter)writerIter.next(); writer.setOutput(ios); TIFFImageWriteParam writeParam = (TIFFImageWriteParam)writer.getDefaultWriteParam(); writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); writeParam.setCompressionType("CCITT T.6"); writer.prepareWriteSequence(null); ImageTypeSpecifier spec = ImageTypeSpecifier.createFromRenderedImage(bimg); javax.imageio.metadata.IIOMetadata metadata = writer.getDefaultImageMetadata(spec, writeParam); IIOImage iioImage = new IIOImage(bimg, null, metadata); writer.writeToSequence(iioImage, writeParam); bimg.flush(); writer.endWriteSequence(); ios.flush(); writer.dispose(); ios.close(); thisByteArray = baos.toByteArray(); baos.close(); } }
public void save(@Nonnull File file) throws IOException { try (OutputStream output = file.newOutputStream()) { ImageOutputStream imageOutput = ImageIO.createImageOutputStream(output); if (imageOutput == null) { throw new IOException("ImageIO::createImageOutputStream returned null"); } ImageWriter writer = ImageIO.getImageWritersByFormatName("gif").next(); int index = 0; writer.setOutput(imageOutput); writer.prepareWriteSequence(null); for (GifFrame frame : this) { BufferedImage image = frame.getImage().getImage(); ImageWriteParam writeParam = writer.getDefaultWriteParam(); IIOMetadata ioMetadata = writer.getDefaultImageMetadata(new ImageTypeSpecifier(image), writeParam); IIOImage ioImage = new IIOImage(image, null, ioMetadata); configureGIFFrame(ioMetadata, String.valueOf(frame.getDelay() / 10L), index++, frame.getDisposalMethod().getMethodName(), frame.getLoopCount()); writer.writeToSequence(ioImage, null); } writer.endWriteSequence(); } }
private void exportAnimation(String delayTime, File file, ProgressMonitor pm) { ImageWriter imageWriter = ImageIO.getImageWritersByFormatName("gif").next(); try { ImageOutputStream outputStream = ImageIO.createImageOutputStream(file); imageWriter.setOutput(outputStream); imageWriter.prepareWriteSequence(null); pm.beginTask("Exporting time series as animated gif", frames.length); for (int i = 0; i < frames.length; i++) { RenderedImage currentImage = frames[i]; ImageWriteParam writeParameters = imageWriter.getDefaultWriteParam(); IIOMetadata metadata = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(currentImage), writeParameters); configure(metadata, delayTime, i); IIOImage image = new IIOImage(currentImage, null, metadata); imageWriter.writeToSequence(image, null); pm.worked(1); } imageWriter.endWriteSequence(); outputStream.close(); pm.done(); } catch (IOException e) { VisatApp.getApp().handleError("Unable to create animated gif", e); } }