经过一些反编译后我遇到的解决方案如下…
RenderedImage image = getMyImage(); Iterator<ImageWriter> iterator = ImageIO.getImageWritersBySuffix( "png" );if(!iterator.hasNext()) throw new Error( "No image writer for PNG" );ImageWriter imagewriter = iterator.next();ByteArrayOutputStream bytes = new ByteArrayOutputStream();imagewriter.setOutput( ImageIO.createImageOutputStream( bytes ) );// Create & populate metadataPNGmetadata metadata = new PNGmetadata();// see http://www.w3.org/TR/PNG-Chunks.html#C.tEXt for standardized keywordsmetadata.tEXt_keyword.add( "Title" );metadata.tEXt_text.add( "Mandelbrot" );metadata.tEXt_keyword.add( "Comment" );metadata.tEXt_text.add( "..." );metadata.tEXt_keyword.add( "MandelbrotCoords" ); // custom keywordmetadata.tEXt_text.add( fractal.getCoords().toString() );// Render the PNG to memoryIIOImage iioImage = new IIOImage( image, null, null );iioImage.setmetadata( metadata ); // Attach the metadataimagewriter.write( null, iioImage, null );



