将带有滤镜效果的SVG渲染成PNG

5
我想将我创建的SVG渲染成高分辨率(600 DPI)的PNG。这个SVG有滤镜效果,具体来说是高斯模糊。
理想情况下,渲染可以通过命令行完成。
我知道这个SVG是可渲染的,因为您可以在Chrome / Chromium中打开它,我想看到的输出就在那里
我尝试过以下方法:
导入Adobe Illustrator svg2png
Imagemagick
Inkscape 其他命令行工具和程序,我现在忘记了。基本上,任何您可以在Google上找到的东西。
我目前正在追求的路径,但卡住了:

知道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和命令行工具。一个带有gyp文件的修改后的示例(输出PNG)将非常棒。

其他可能有效的想法:

从Chrome获取像素数据(我该如何做?简单的截图不够用,因为图像的分辨率。我还想要一个可脚本化、可重复的过程)。

使用其他可以呈现SVG的图形库。也许这来自其他Web浏览器,也可能不是。


SVG带模糊效果的示例:https://www.dropbox.com/s/9gqc4sf1x1irhsm/blue.svg?dl=0 - leggers
1个回答

3

这似乎很好用:

webkit2png -F blue.svg -o rendered
-F表示生成全分辨率PNG文件,而不是缩略图,-o指定输出文件名为rendered-full.pngenter image description here 我已经将图片大小缩小以适应Stack Overflow的要求,但实际上该命令生成了完整分辨率为2880x2880的图像。

谢谢!有没有办法控制 DPI?我想要一个超高 DPI 版本。 - leggers
对于其他人阅读此内容,您可以使用“-z 5”参数来增加DPI,其中5是缩放级别。 - leggers

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