java svg生成png

private void convertSvg2Png(Path svg, Path png) {
        try {

            log.info("svg=" + svg);
            log.info("png=" + png);

            @Cleanup InputStream in = Files.newInputStream(svg);

            if (!Files.exists(png.getParent())) {
                Files.createDirectory(png.getParent());
            }

            if (!Files.exists(png)) {
                Files.createFile(png);
            }
            @Cleanup OutputStream out = Files.newOutputStream(png);
            out = new BufferedOutputStream(out);

            Transcoder transcoder = new PNGTranscoder();
            TranscoderInput input = new TranscoderInput(in);
            TranscoderOutput output = new TranscoderOutput(out);
            transcoder.addTranscodingHint(ImageTranscoder.KEY_WIDTH, 2048f);
            transcoder.addTranscodingHint(ImageTranscoder.KEY_HEIGHT, 2048f);
            transcoder.transcode(input, output);

        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }
    }
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-transcoder</artifactId>
            <version>1.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-codec</artifactId>
            <version>1.14</version>
        </dependency>

svg生成2048*2048的png

posted @ 2021-10-22 14:20  兜兜转转-一地鸡毛  阅读(1566)  评论(0)    收藏  举报