如何转换的svg到png,在Python?我正在存储svg一个实例StringIO.我应该使用pyCairo库吗?我该如何编写代码?
所以我想从具有目标分辨率 WxH 的 python 代码渲染 SVG(将 SVG 文本作为 str,就像我动态生成的那样):
<svg width="200" height="200" viewBox="0 0 220 220"
xmlns="http://www.w3.org/2000/svg">
<filter id="displacementFilter">
<feTurbulence type="turbulence" baseFrequency="0.05"
numOctaves="2" result="turbulence"/>
<feDisplacementMap in2="turbulence" in="SourceGraphic"
scale="50" xChannelSelector="R" yChannelSelector="G"/>
</filter>
<circle cx="100" cy="100" r="100"
style="filter: url(#displacementFilter)"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
转换为 png 图像。如何在Python中做这样的事情?
我正在使用svgwrite和生成 svg 文件,如何将它们转换为 PNG 或 JPEG?
问题很简单,但是我google了很多方法,都没有这样的解决方案:
import svg-render-library
figure = svg-render-library.open('test.svg')
figure.render()
Run Code Online (Sandbox Code Playgroud)
有没有只使用 python 库显示 SVG 图像的简单方法?我问的是渲染 SVG 图像而不需要任何转换为其他格式,并使用纯 python 渲染,而不需要任何第三方软件。正如我所尝试的,目前这似乎是不可能的。
作为内置 python,我的意思是 - 只有通过 pip 可用的 python 包,因此不需要安装/编译其他任何东西。为了渲染,我的意思是在窗口内显示Python的哪一部分,而不是浏览器或任何外部软件。
我正在利用 svglib 和报告实验室将 SVG 文件转换为 PNG 文件。
renderPM.drawToFile(drawing, png_file_path, fmt="PNG", configPIL={'transparent': None})
它可以转换文件,不幸的是图像的背景不透明。
我尝试向 configPIL 的透明属性添加颜色并使其透明,但它似乎根本不影响背景。
如何使用 python 将 SVG 转换为具有透明背景的 PNG?