将具有滤镜效果的 SVG 渲染为 PNG
Render an SVG with filter effects to PNG
我想将我创建的 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/) and use it to output a PNG. So far I've succeeded in installing Skia and running the very first example. I've found an example that renders an SVG (https://code.google.com/p/skia/source/browse/trunk/samplecode/SampleSVG.cpp?r=875),但没有成功 运行 它在我的 OSX 机器上安装了 XCode 和命令行工具的最新更新。该示例的修改版本(带有 gyp 文件)输出 PNG 会很棒。
其他可行的想法:
从 Chrome 获取像素数据(我该怎么做?由于图像的分辨率,一个简单的屏幕截图是不够的。我还想要一个可编写脚本、可重复的过程。)
使用其他可以呈现 SVG 的图形库。也许这来自其他网络浏览器,也许不是。
这似乎工作得很好:
webkit2png -F blue.svg -o rendered
-F
表示生成 Full
分辨率的 PNG 且无缩略图,-o
指定输出文件名将是 rendered-full.png
.
我缩小了尺寸以适合 Stack Overflow,但显示的命令实际上给出了全分辨率 2880x2880 图像。
我想将我创建的 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/) and use it to output a PNG. So far I've succeeded in installing Skia and running the very first example. I've found an example that renders an SVG (https://code.google.com/p/skia/source/browse/trunk/samplecode/SampleSVG.cpp?r=875),但没有成功 运行 它在我的 OSX 机器上安装了 XCode 和命令行工具的最新更新。该示例的修改版本(带有 gyp 文件)输出 PNG 会很棒。
其他可行的想法:
从 Chrome 获取像素数据(我该怎么做?由于图像的分辨率,一个简单的屏幕截图是不够的。我还想要一个可编写脚本、可重复的过程。)
使用其他可以呈现 SVG 的图形库。也许这来自其他网络浏览器,也许不是。
这似乎工作得很好:
webkit2png -F blue.svg -o rendered
-F
表示生成 Full
分辨率的 PNG 且无缩略图,-o
指定输出文件名将是 rendered-full.png
.
我缩小了尺寸以适合 Stack Overflow,但显示的命令实际上给出了全分辨率 2880x2880 图像。