如何在Java中高效地绘制SVG图像?

5

参考资料:如何在旋转BufferedImage时产生清晰的图像结果?

在上述问题中,我询问了有关光栅化图像变换质量方面的问题。有人建议我使用SVG图像,因为其变换质量更高、更灵活。(这是正确的吗?)

因此,我花费了相当长的时间来尝试使用Batik库,阅读他们的API并搜索是否有其他人遇到了同样的问题。

到目前为止,我还没有找到任何实质性的东西,所以我希望有人能帮助我。以下是我的实际需求:

类似于AffineTransform和Graphics2D的drawImage(...)使用BufferedImages,
是否可能 (以及如何)将一个SVG图像/对象进行变换然后绘制到JPanel上?

我之前想过,在绘制之前,可以首先根据AffineTransform对象对其进行光栅化,然后使用Graphics2D进行绘制,但如果每次都需要进行光栅化才能绘制一张图片……肯定有更好的方法。

所以经过深思熟虑,我想知道SVG是否真的是解决这个问题的方法。
光栅化与矢量图像的比较。

注意: 创建SVG文件并不是问题所在。

谢谢。


这里有一个示例:https://dev59.com/KEzSa4cB1Zd3GeqPmWqT - revo
@revo:我会尝试一下,如果有效我会告诉你。谢谢。 - rtheunissen
@revo:Salamander 看起来比 Batik 使用起来简单得多。回答一下,我会接受的。再次感谢。 - rtheunissen
1个回答

0

我在 pdf 上下文中使用这个库(与 jasper / iReport 一起),结果是正确的。我尝试过 Batik,但发现它很难使用。


1
请问您如何使用Jasper或iReport将SVG转换为PDF? - varunrao321

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接