我想将我创建的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图像.