如何使用maven从SVG生成ICO文件?

时间:2011-03-08 14:33:04

标签: maven-2 svg rendering ico

在我的项目中,我需要一个用于Windows可执行文件的图标文件(.ICO)。我想从SVG生成该文件,因此它包含多个不同大小的图像。有没有maven插件可以为我做到这一点?

我知道我可以在我的存储库中放置一个图标文件,但源文件是SVG图像,所以我想避免这种情况。

4 个答案:

答案 0 :(得分:3)

我不认为有一些Maven插件。此外,问题还远远超出了maven本身。

你能做的是:

  1. 使用Apache Batik Rasterizer
  2. 将SVG转换为PNG
  3. 使用ImageMagickJMagick包装器
  4. 将PNG转换为ICO
  5. 创建将调用1和2的Apache Ant脚本,并使用AntRun插件将其添加到其中一个maven生命周期阶段。

答案 1 :(得分:2)

我遇到了你的问题,寻找一个非常类似问题的解决方案。所给出的答案都不适合我,因为我不想被绑定到运行的可执行文件中,因此我编写了一个纯Java Ant任务(使用Batik和image4j在封面下)

我在http://svg2ico.sourceforge.net/开源了 - 也许你可以从Maven打电话给它?

答案 2 :(得分:1)

您可以使用Google's canvg将SVG格式化为网页上的PNG,将其推入画布,然后使用画布上的toDataURL()获取base64编码的PNG数据。然后你需要解码它。

或者,您可以使用任意数量的服务器端SVG-to-PNG converters

不是比@ Andrey更好的答案,但为第一步显示了更多选项。

答案 3 :(得分:1)

batik-maven-plugin至少可以让您从SVG生成PNG。但不知道如何生成ICO。