OutputStream out = new FileOutputStream(pngPath)) { PNGTranscoder transcoder = new PNGTranscoder(); transcoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, w); transcoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, h); transcoder.transcode(new TranscoderInput(in), new TranscoderOutput(out));
/** * Transcode file to PNG. * * @param file Output filename * @param width Width * @param height Height * @throws IOException On write errors * @throws TranscoderException On input/parsing errors. */ public void saveAsPNG(File file, int width, int height) throws IOException, TranscoderException { PNGTranscoder t = new PNGTranscoder(); t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, new Float(width)); t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, new Float(height)); transcode(file, t); }
private void rasterize(TranscoderInput input, TranscoderOutput output, int width, int height) { PNGTranscoder transcoder = new PNGTranscoder(); if (width > 0) { transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_WIDTH, new Float(width)); } if (height > 0) { transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_HEIGHT, new Float(height)); } // Set maximum width and height to 8k to avoid DoS attacks transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_MAX_WIDTH, new Float(8192)); transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_MAX_HEIGHT, new Float(8192)); try { transcoder.transcode(input, output); } catch (TranscoderException ex) { this.logger.warn("Failed to rasterize SVG image: {}", ex.getMessage()); } }
private void rasterize(TranscoderInput input, TranscoderOutput output, int width, int height) { PNGTranscoder transcoder = new PNGTranscoder(); if (width > 0) { transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_WIDTH, new Float(width)); } if (height > 0) { transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_HEIGHT, new Float(height)); } // Set maximum width and height to 8k to avoid DoS attacks transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_MAX_WIDTH, new Float(8192)); transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_MAX_HEIGHT, new Float(8192)); try { transcoder.transcode(input, output); } catch (TranscoderException ex) { this.logger.warn("Failed to rasterize SVG image: {}", ex.getMessage()); } }
/** * Transcode file to PNG. * * @param file Output filename * @param width Width * @param height Height * @throws IOException On write errors * @throws TranscoderException On input/parsing errors. */ public void saveAsPNG(File file, int width, int height) throws IOException, TranscoderException { PNGTranscoder t = new PNGTranscoder(); t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, new Float(width)); t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, new Float(height)); transcode(file, t); }
private PNGTranscoder newPNGTranscoder(final Avatar.Size size) { final PNGTranscoder transcoder = createPngTranscoder(); transcoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, (float) size.getPixels()); transcoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, (float) size.getPixels()); return transcoder; } }
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; import org.apache.batik.transcoder.TranscoderInput; import org.apache.batik.transcoder.TranscoderOutput; import org.apache.batik.transcoder.image.PNGTranscoder; public class Test { public static void main(String[] args) throws Exception { PNGTranscoder t = new PNGTranscoder(); t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, new Float(12600)); t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, new Float(12600)); FileInputStream fis = new FileInputStream("C:\\StackOverflow\\SVG-logo.svg"); TranscoderInput input = new TranscoderInput(fis); OutputStream ostream = new FileOutputStream("C:\\StackOverflow\\res.png"); TranscoderOutput output = new TranscoderOutput(ostream); System.out.println("AllocatedMemory: \t" + (Runtime.getRuntime().totalMemory() / 1024) + " Kb"); t.transcode(input, output); System.out.println("AllocatedMemory: \t" + (Runtime.getRuntime().totalMemory() / 1024) + " Kb"); ostream.flush(); ostream.close(); } }
PNGTranscoder t = new PNGTranscoder(); t.addTranscodingHint( KEY_WIDTH, new Float( rect.width ) ); t.addTranscodingHint( KEY_HEIGHT, new Float( rect.height ) );
t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, new Float(out.getWidth())); info.append(" w").append(out.getWidth()); } else t.removeTranscodingHint(PNGTranscoder.KEY_WIDTH); t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, new Float(out.getHeight())); info.append(" h").append(out.getHeight()); } else t.removeTranscodingHint(PNGTranscoder.KEY_HEIGHT);
final PNGTranscoder transcoder = new PNGTranscoder(); transcoder.addTranscodingHint(KEY_BACKGROUND_COLOR, Color.white); transcoder.addTranscodingHint(KEY_FORCE_TRANSPARENT_WHITE, true); transcoder.transcode(input, output);
PNGTranscoder transcoder = new PNGTranscoder(); transcoder.addTranscodingHint(ImageTranscoder.KEY_WIDTH, (float) width); transcoder.addTranscodingHint(ImageTranscoder.KEY_HEIGHT, (float) height); ByteArrayOutputStream out = new ByteArrayOutputStream(); transcoder.transcode(new TranscoderInput(new InputStreamReader(imgSvgStream,"UTF-8")), new TranscoderOutput(out)); PNGTranscoder transcoder = new PNGTranscoder(); transcoder.addTranscodingHint(ImageTranscoder.KEY_WIDTH, (float) width); transcoder.addTranscodingHint(ImageTranscoder.KEY_HEIGHT, (float) height); ByteArrayOutputStream out = new ByteArrayOutputStream(); transcoder.transcode(new TranscoderInput(new InputStreamReader(imgSvgStream, "UTF-8")), new TranscoderOutput(out));
transcoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, (float) outSize.width()); transcoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, (float) outSize.height());
private InputStream renderSVGToInputStream(RenderingContext context, ImageXMLDOM imageSVG) throws IOException { PNGTranscoder png = new PNGTranscoder(); Float width = getDimension(imageSVG.getDocument(), "width") * 8; png.addTranscodingHint(SVGAbstractTranscoder.KEY_WIDTH, width); Float height = getDimension(imageSVG.getDocument(), "height") * 8; png.addTranscodingHint(SVGAbstractTranscoder.KEY_HEIGHT, height); TranscoderInput input = new TranscoderInput(imageSVG.getDocument()); ByteArrayOutputStream os = new ByteArrayOutputStream(); TranscoderOutput output = new TranscoderOutput(os); try { png.transcode(input, output); } catch (TranscoderException ex) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( context.getUserAgent().getEventBroadcaster()); eventProducer.svgRenderingError(this, ex, imageSVG.getInfo().getOriginalURI()); } finally { os.flush(); os.close(); } return new ByteArrayInputStream(os.toByteArray()); }