我使用Java Graphics2D相关库以编程方式生成大图像。我正在使用Batik的SVGGraphics2D类来渲染SVG。
我的挑战是我有一组已经采用SVG格式的图标,我希望将其嵌入到更大的图像中。
基于Batik文档,我了解如何使用ImageTranscoder将图标SVG文件引入Graphics2D环境。但是,此过程会栅格化SVG文件并将其转换为BufferedImage。
结果是,当我以更大的尺寸渲染主图像时,图标看起来很糟糕,而图像的其余部分则很清晰。
有没有办法使用SVGGraphics2D嵌入SVG图像而不首先光栅化它?
由于
答案 0 :(得分:0)
使用createElementNS创建SVG <image>
元素,使用setAttributeNS将xlink:href属性设置为托管SVG图标的位置,并使用{设置x,y,width和height属性{3}}。