如何使用Batik svggen将SVG图像嵌入到另一个SVG图像中?

时间:2013-08-30 23:02:21

标签: java svg graphics2d batik

我使用Java Graphics2D相关库以编程方式生成大图像。我正在使用Batik的SVGGraphics2D类来渲染SVG。

我的挑战是我有一组已经采用SVG格式的图标,我希望将其嵌入到更大的图像中。

基于Batik文档,我了解如何使用ImageTranscoder将图标SVG文件引入Graphics2D环境。但是,此过程会栅格化SVG文件并将其转换为BufferedImage。

结果是,当我以更大的尺寸渲染主图像时,图标看起来很糟糕,而图像的其余部分则很清晰。

有没有办法使用SVGGraphics2D嵌入SVG图像而不首先光栅化它?

由于

1 个答案:

答案 0 :(得分:0)

使用createElementNS创建SVG <image>元素,使用setAttributeNS将xlink:href属性设置为托管SVG图标的位置,并使用{设置x,y,width和height属性{3}}。