Java svg转png
项目业务场景中前端合成的文件格式是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相关推荐
- Java svg图片转png图片
Java svg图片转png图片 比较简单,主要使用batik包里的batik-transcoder模块,网上的教程引的包太多了,只是转化的话,这个包就够了.你们引用的时候,记得查一下version, ...
- java svg png_java batik svg转png报错,球大神!!!在线等
报错内容:org.apache.batik.transcoder.TranscoderException:nullEnclosedException:Thecurrentdocumentisunabl ...
- 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 ...
- java svg 转 png 学习
示例如下: import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; impo ...
- java svg image xlink_SVG基础 | SVG image 元素
SVG 元素用于在SVG图像中嵌入位图.通过使用元素你可以将一张位图绘制在SVG图像上面. 下面是一个简单的例子: xlink:href="http://img.htmleaf.com/15 ...
- java svg 读取dom结构_SVG基础以及使用Javascript DOM操作SVG
SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...
- java svg 转png_java svg转png图片的方法代码svgToPng
javasvg转png图片的方法代码svgToPng:方法可以直接使用public static String svgToPng(String fileName){ try { String svgS ...
- java svg 转png_java svg转png
报错: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/batik/dom/util/D ...
- ubuntu16.04中文乱码空格+fabric.js生成图片跨域问题
今天前端用fabric画一些东西: (fabric这玩意真的贼厉害,画布内的对象可拖动可大小可删除可平移) 里面有文字有图片: 因为里面的图片引用的是公司七牛的地址: 所以用fabric去 todat ...
最新文章
- Ubuntu 打 deb 包报错(fpm not found、dos2unix not found)
- 计算机网络应用基础 王建珍,计算机网络应用基础
- pdb+ipdb 调试 Python代码
- Apache2.4开启php
- python getopterror_python3 getopt用法
- Qt-连续容器及迭代器
- oracle get_ddl XSL error 解决方法
- java仿qq登陆界面
- WGS84坐标系-地心地固坐标系-东北天坐标系
- Axure 9 简介【原型工具】
- 对比分析偏差率的五个常见疑问
- 【PC页面设计项目】宠物物流页面设计(源码+图示)
- SOT-23封装对应元器件、管脚分布及其功能示意汇总
- PHP 实现PDF转图片
- 蓝桥杯大赛(大学B组)—— 数字三角形 (C语言)
- oa系统打不开只能重启服务器,oa系统打不开怎么办-oa系统打不开的解决方法 - 河东软件园...
- php百度优化,百度技术沙龙第 24 期 PHP 性能优化实践
- Win11的22H2依然没有WSA(Windows Subsystem for Android)?
- ERP软件触发器判断单身数据为什么状态,如何执行
- 零基础移动端APP设计与开发教程
热门文章
- 解决GitHub下载速度慢的问题(已解决)
- 经典论文阅读:FLP不可能性定理
- 解决html、php中文乱码问题
- 实战SSM_O2O商铺_01项目介绍以及准备工作
- Initializing Spring DispatcherServlet dispatcherServlet
- Jeff Dean万字长文:2020谷歌10大领域AI技术发展
- 线性回归算法python实现_用python实现线性回归算法
- 图像中亮度和曝光的区别
- 手机游戏开发 libGDX1.4.1项目实战 微信打飞机-肖师军-专题视频课程
- 做网站应该搭建哪些功能栏目管理模块?