Batik详解
Batik 详解
一、概述
Batik 是为想使用 svg 格式图片来实现各种功能的应用程序和 Applet 提供的一个基 java 的工具包。
工程创建的目的是为开发者提供一系列可以结合或单独使用来支持特殊的 svg 解决方案的核心模块。模块主要有
SVGParser,SVGGernerator,SVGDOM 。Batik 工程的其他目的是使它具有高度的扩展性----举个例子,Batik 允许开发
者使用自定义的 SVG 元素。即使工程的目标是提供一系列核心模块,但是还是提供了一个完整的 SVG 浏览器,以便证
实各个模块的有效性和交互性。
二、batik 的用途
通过 Batik,你可以在任何使用到java 的地方操作SVG 文档。你也可以使用各种 Batik 模块来在你的应用程序和Applet
中来生成,操作和转换你的svg 图像。
batik 使通过java 处理 SVG 内容变的简单。举个例子,通过使用batik 的SVGGernerate 模块,java 应用程序和 Applet
可以非常简单的使输出图像的格式为 SVG 。使用 batik 的SVG viewing component, 应用程序或者 Applet 可以非常容易的
整合 SVG 查看和交互功能。另外还可以使用 Batik 的模块将SVG 转换为其他格式,比如说 JPEG 等图像格式和 PD 等其
他向量格式。
Batik 工具包包含如下各项:
模块
SVG DOM implementation
一系列 SVG microsyntax parsers
scripting module
一个 generator 用来从java2D 中创建一个SVG document
Swing SVG component
transcoder module
工具和应用程序
Squiggle, an SVG browser
An SVG rasterizer
A TTF to SVG converter
A pretty printer for SVG source files
三、SVG DOM API
DOM API 定义了一个接口叫做 DOMimplementation,这个接口用来表现任意 DOM implementation 之间的连接。这
个类的作用是通过提供方法创建一个 document 来连接一个指定的 DOM 实例。然后具体的 Document 表现为一个 XML
Document 并且跟各种各样的 DOM 对象工厂比如 Element,Attr ,Text 那样动作。
那么怎样才能获得一个依赖于你使用的 DOM Implementation 的 DOMImplementation 实例呢?在 Batik 中 DOM
Implementation 存在于包 org.apache.batik.dom.svg 中,类名为SVGDOMImplementation 。以下例子表示怎样获取一个具
体的 DOMImplementation 对象:
import org.w3c.dom.DOMImplementation;
import org.apache.batik.dom.svg.SVGDOMImplementation;
DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
一旦你已经拥有了一个 DOMImplementation 实例,你将不能再依赖 batik 的指定代码而要准备好使用 DOM API
了。
1.创建一个 Doucument
使用 DOMImplementation,你现在将可以创建一个 Document。下面将举例说明怎么创建