`
seeallsea
  • 浏览: 41172 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Batik把SVG转换为图片

阅读更多

        Batik是使用svg格式图片来实现各种功能的应用程序以及Applet提供的一个基于java的工具包,可以使用Batik把SVG转换为图片。

        Batik的project link是http://xmlgraphics.apache.org/batik/,我下载的是1.7。

        新建一个Java工程,把Batik解压后的目录中的batik.jar, batik-rasterizer.jar,batik-slideshow.jar,batik-squiggle.jar,batik-svgpp.jar,batik-ttf2svg.jar加入到工程的classpath中,把batik-1.7/lib目录下的所有Jar包都加入到工程的classpath中,再把batik-1.7\extensions目录下的所有jar包都加入到工程的classpath中。

        写一段测试程序如下:

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
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 BatickSVGTest {

	public static void main(String[] args) {
                //svg文件的路径
		String svgFileName = "d:\\svg_code.txt";
		File svgFile = new File(svgFileName);
		FileOutputStream outputStream = null;

		try {
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			FileInputStream fis = new FileInputStream(svgFile);
			byte[] buf = new byte[4096];
			int len = 0;
			while ((len = fis.read(buf)) != -1) {
				baos.write(buf, 0, len);
			}

			String svgCode = new String(baos.toByteArray());

			System.out.println("svgCode:" + svgCode);

			String pngFilePath = "d:\\PNG.png";

			File file = new File(pngFilePath);

			file.createNewFile();
			outputStream = new FileOutputStream(file);
			convertSVGToPng(svgCode, outputStream);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				outputStream.close();
			} catch (IOException e) {
			}
		}
	}

	public static void convertSVGToPng(String svgCode, OutputStream outputStream) {
		try {
			byte[] bytes = svgCode.getBytes("utf-8");
			PNGTranscoder t = new PNGTranscoder();
			TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(bytes));
			TranscoderOutput output = new TranscoderOutput(outputStream);
			t.transcode(input, output);
			outputStream.flush();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				outputStream.close();
			} catch (IOException e) {
			}
		}
	}
}

 

 准备好一段svg的源文件,d:\\svg_code.txt,输出的文件为d:\\PNG.png,现在就可以测试了。

分享到:
评论

相关推荐

    使用batik转换svg文件

    自己通过实际项目总结出的batik的基本使用方法,可以使用里面的工具类来操作svg文件。网络资源很少的哦,还不快下载。

    Eclipse 的svg插件batik-plugin

    一、概述 Batik是为想使用svg格式图片来实现各种功能的应用程序和Applet提供的一个基于java的工具包。...另外还可以使用Batik的模块将SVG转换为其他格式,比如说JPEG等图像格式和 PDF等其他向量格式.

    JAVA WMF 转换SVG,PNG

    WMF转PNG EMF转PNG 工具类,使用wmf2svg 来实现wmf转svg 用batik jar实现svg转png 这种转换 不存在图片丢失等问题!

    Batik 1.7 API CHM格式

    Batik是使用svg格式图片来实现各种功能的应用程序以及Applet提供的一个基于java的工具包。 通过Batik,你可以在JAVA可以使用的地方操作SVG文档,您还可以在你的应用程序使用Batik模块来生成 , 处理和转码SVG图像。...

    将WMF图片格式转换成PNG

    使用batik工具库将wmf格式的图片先转换成svg再将svg转换为png,项目下载导入即可运行

    svgToPngJava:在Java中将svg转换为png

    svgToPng svg to png in java 额外引入的包有: batik-all-1.7.jar xml-apis-ext-1.3.04.jar dom4j-1.6.1.jar

    基于xml标准的svg矢量图资料

    用SVG技术实现基于Web的GIS-_NET教程,Web Service开发站长天空|虚拟主机资讯虚拟主机新闻虚拟主机动态。 SVG与UML图。...CAD文件转换为SVG文件的探讨 - SVG中国。 基于Batik的SVG应用 关于几何变换。

    SVGPath2Text:将SVG轮廓(又名SVG路径; SVG Glyphes)转换回文本的蛮力工具。 如果您需要较小的文件大小,则很有帮助

    使用BATIK将字形BACK转换回文本,即解析Java对象的路径。 ( )您需要将适当的LIBS添加到项目中。 ( ) 需要将SVG文件“规范化”,方法是将其复制到Method Draw的源代码编辑器( )中,并复制到源代码编辑器(View...

    论文研究-一种基于XML的Excel向SVG图转换的解决方案 .pdf

    一种基于XML的Excel向SVG图转换的解决方案,周运杰,杨俊,本文给出了一种以XML为中间文档格式的Excel电子表格向SVG图转换的解决方案。并采用基于Java的技术,利用开源工具包JXL, Batik等实现了这��

    batik框架 jar包

    batik可以实现JAVA画SVG图,也可以将后台生成图表转换成png格式图片。配合iText等打印技术,可以实现word打印各类分析图表的功能。

    WMFTOPNG.zip

    使用batik工具库将wmf格式的图片先转换成svg再将svg转换为png,项目下载导入即可运行

    batik源码(包含sample)

    svg转换工具,java编写,功能强大,留着自用

    svg-pdf-exporter:一个简单的 PDF 编辑器,用于创建带有文本和 svg 图像的 pdf 文件

    svg-pdf-出口商 使用 Batik SVG Toolkit 将 SVG 转换为 PDF

    kabeja.jar

    Kabeja是一个用于解析DXF并转换为SVG(dxf2svg)的java库。该库支持SAX-api,可以集成到其他应用程序(Cocoon,Batik)中。包括将svg转换为jpeg,tiff,png和pdf的工具。

    svgSalamander

    Ant任务,可从Ant脚本中轻松地从SVG转换为图像 SVGIcon类极大地简化了将图像加载和绘制到屏幕上的过程 与Batik相比,代码占用空间小得多,并且仅包含一个JAR文件 直接访问场景图树。 您可以使用Java命令直接对其进行...

    Delineate - raster to SVG converter-开源

    Delineate 是一种使用 AutoTrace 或 potrace 将光栅图像转换为 SVG(可缩放矢量图形)的工具。 它使用 JIU 加载图像并使用 Batik 显示结果。 输入格式为 JPEG、PNG、GIF、BMP、TIFF、PNM、PBM、PGM、PPM、IFF、PCD、...

    wmf格式图片转png完整java示例(带全部jar).rar

    wmf格式图片转png完整java项目示例,包含所需jdk(jdk1.7.0_80)及完整jar包。 一,实现功能: 1,wmf文件转png文件; 2,wmf格式的base64压缩数据转png图片(带解压base64数据功能); 二,包含的完整jar: batik-...

    Klecks-开源

    Klecks的主要目的是将SVG转换为通常可见的格式。 如果项目进展顺利,则可能成为php世界的蜡染(http://xml.apache.org/batik)。

Global site tag (gtag.js) - Google Analytics