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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM