项目业务场景中前端合成的文件格式是svg的,但在java中不能像图片那样用IO流读写合成。

转自 https://www.cnblogs.com/chenjy1225/p/9662218.html

此文中介绍了如何将svg转成png,亲测有效。maven的依赖要使用博主给出的版本,新版本会报各种类缺失的异常。

<!-- svg 转 png  --><dependency><groupId>batik</groupId><artifactId>batik-svggen</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-awt-util</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-bridge</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-css</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-dom</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-gvt</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-parser</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-script</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-svg-dom</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-transcoder</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-util</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-xml</artifactId><version>1.6</version></dependency><dependency><groupId>xerces</groupId><artifactId>xercesImpl</artifactId><version>2.5.0</version></dependency><dependency><groupId>xml-apis</groupId><artifactId>xmlParserAPIs</artifactId><version>2.0.2</version></dependency><dependency><groupId>org.axsl.org.w3c.dom.svg</groupId><artifactId>svg-dom-java</artifactId><version>1.1</version></dependency><dependency><groupId>xml-apis</groupId><artifactId>xml-apis</artifactId><version>2.0.0</version></dependency><dependency><groupId>org.w3c.css</groupId><artifactId>sac</artifactId><version>1.3</version></dependency>
public static void convertSvg2Png(File svg, File png) throws IOException,TranscoderException   {  InputStream in = new FileInputStream(svg);  OutputStream out = new FileOutputStream(png);  out = new BufferedOutputStream(out);  Transcoder transcoder = new PNGTranscoder();  try { TranscoderInput input = new TranscoderInput(in);  try {  TranscoderOutput output = new TranscoderOutput(out);  transcoder.transcode(input, output);  } finally {  out.close();  }  } finally {  in.close();  }  }  public static void main(String args[]){File f=new File("E:/Pinterest_pinterest30.svg");  File destFile=new File("E:/Pinterest_pinterest30.png"); try {convertSvg2Png(f, destFile);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (TranscoderException e) {// TODO Auto-generated catch blocke.printStackTrace();}  }

转换效果,原文可见。

Java svg转png相关推荐

  1. Java svg图片转png图片

    Java svg图片转png图片 比较简单,主要使用batik包里的batik-transcoder模块,网上的教程引的包太多了,只是转化的话,这个包就够了.你们引用的时候,记得查一下version, ...

  2. java svg png_java batik svg转png报错,球大神!!!在线等

    报错内容:org.apache.batik.transcoder.TranscoderException:nullEnclosedException:Thecurrentdocumentisunabl ...

  3. java svg 转pdf_Java PDF转HTML、Word、图片、SVG、XPS、 PDF/A等格式

    这篇文章介绍如何在Java应用程序中将PDF转换为HTML.Word.图片.SVG.XPS.PDF/A等格式. 本文所使用的PDF组件: Free Spire.PDF for Java Free Sp ...

  4. java svg 转 png 学习

    示例如下: import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; impo ...

  5. java svg image xlink_SVG基础 | SVG image 元素

    SVG 元素用于在SVG图像中嵌入位图.通过使用元素你可以将一张位图绘制在SVG图像上面. 下面是一个简单的例子: xlink:href="http://img.htmleaf.com/15 ...

  6. java svg 读取dom结构_SVG基础以及使用Javascript DOM操作SVG

    SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...

  7. java svg 转png_java svg转png图片的方法代码svgToPng

    javasvg转png图片的方法代码svgToPng:方法可以直接使用public static String svgToPng(String fileName){ try { String svgS ...

  8. java svg 转png_java svg转png

    报错: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/batik/dom/util/D ...

  9. ubuntu16.04中文乱码空格+fabric.js生成图片跨域问题

    今天前端用fabric画一些东西: (fabric这玩意真的贼厉害,画布内的对象可拖动可大小可删除可平移) 里面有文字有图片: 因为里面的图片引用的是公司七牛的地址: 所以用fabric去 todat ...

最新文章

  1. Ubuntu 打 deb 包报错(fpm not found、dos2unix not found)
  2. 计算机网络应用基础 王建珍,计算机网络应用基础
  3. pdb+ipdb 调试 Python代码
  4. Apache2.4开启php
  5. python getopterror_python3 getopt用法
  6. Qt-连续容器及迭代器
  7. oracle get_ddl XSL error 解决方法
  8. java仿qq登陆界面
  9. WGS84坐标系-地心地固坐标系-东北天坐标系
  10. Axure 9 简介【原型工具】
  11. 对比分析偏差率的五个常见疑问
  12. 【PC页面设计项目】宠物物流页面设计(源码+图示)
  13. SOT-23封装对应元器件、管脚分布及其功能示意汇总
  14. PHP 实现PDF转图片
  15. 蓝桥杯大赛(大学B组)—— 数字三角形 (C语言)
  16. oa系统打不开只能重启服务器,oa系统打不开怎么办-oa系统打不开的解决方法 - 河东软件园...
  17. php百度优化,百度技术沙龙第 24 期 PHP 性能优化实践
  18. Win11的22H2依然没有WSA(Windows Subsystem for Android)?
  19. ERP软件触发器判断单身数据为什么状态,如何执行
  20. 零基础移动端APP设计与开发教程

热门文章

  1. 解决GitHub下载速度慢的问题(已解决)
  2. 经典论文阅读:FLP不可能性定理
  3. 解决html、php中文乱码问题
  4. 实战SSM_O2O商铺_01项目介绍以及准备工作
  5. Initializing Spring DispatcherServlet dispatcherServlet
  6. Jeff Dean万字长文:2020谷歌10大领域AI技术发展
  7. 线性回归算法python实现_用python实现线性回归算法
  8. 图像中亮度和曝光的区别
  9. 手机游戏开发 libGDX1.4.1项目实战 微信打飞机-肖师军-专题视频课程
  10. 做网站应该搭建哪些功能栏目管理模块?