使用滤镜效果渲染SVG到PNG

我想将我创建的SVG渲染到高分辨率(600 DPI)PNG.此SVG具有滤镜效果,特别是高斯模糊.

理想情况下,渲染可以通过命令行完成.

我知道SVG是可渲染的,因为你可以在Chrome / Chromium中打开它,我想看到的输出就在那里.

我试过的事情:

导入到Adobe Illustrator

svg2png

ImageMagick的

Inkscape中

我现在忘记的其他命令行工具和程序.基本上你可以在谷歌找到任何东西.

我追求的当前路径但坚持:

知道Chromium可以很好地渲染SVG并且它是开源的,我想我会下载库Chromium依赖于渲染SVG(Skia,https://sites.google.com/site/skiadocs/)并使用它来输出PNG.到目前为止,我已经成功安装了Skia并运行了第一个示例.我找到了一个示例,它呈现了一个SVG(https://code.google.com/p/skia/source/browse/trunk/samplecode/SampleSVG.cpp?r=875),但是在我的OSX机器上没有使用XCode和命令行工具的最新更新成功运行它.输出PNG的该示例(带有gyp文件)的修改版本将是惊人的.

其他可能有用的想法:

从Chrome获取像素数据(我该怎么做?由于图像的分辨率,简单的截图是不够的.我还想要一个可编写脚本的,可重复的过程.)

使用可以渲染SVG的其他图形库.也许这来自其他网络浏览器,也许不是.

最佳答案 这看起来效果很好:

webkit2png -F blue.svg -o rendered

-F表示生成全分辨率PNG且没有缩略图,-o指定输出文件名将为render-full.png.

我缩小了尺寸以适应Stack Overflow,但显示的命令实际上提供了全分辨率2880×2880图像.

点赞