首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python自定义字体将SVG转换为PNG

用Python自定义字体将SVG转换为PNG
EN

Stack Overflow用户
提问于 2022-04-06 08:00:54
回答 1查看 350关注 0票数 1

我读过几个线程,也试过几个线程,但是我无法解决这个问题。

我有一个简单的SVG文件:

代码语言:javascript
复制
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 289 144.94">
    <defs>
        <style type="text/css">
            @import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700');
        </style>
        <style type="text/css">
            @import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700');
        </style>
        <style type="text/css">.cls-11{font-size:53.58px;}
        </style>
    </defs>
    <text class="cls-11" textLength="110" lengthAdjust="spacingAndGlyphs" transform="translate(160.98 45.54)">M2/1</text>
</svg>

但是我无法在Python中为这个SVG生成一个PNG输出。我试过cairosvg,pyvips,wandpy,但是都有一些问题。主要有两个问题:

导入的字体未加载/未加载recognized.

  • The lenghtAdjust参数似乎被其中的大多数忽略。

我也可以用它生成另一种基于像素的格式,或者使用另一种编程语言/库。

EN

回答 1

Stack Overflow用户

发布于 2022-04-06 08:05:56

代码语言:javascript
复制
from cairosvg import svg2png

from cairosvg import svg2png

svg_code = """
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"/>
        <line x1="12" y1="8" x2="12" y2="12"/>
        <line x1="12" y1="16" x2="12" y2="16"/>
    </svg>
"""

svg2png(bytestring=svg_code,write_to='output.png')

这个例子是由一个名为"JWL“的用户提供的,下面的链接是否回答了您的问题?

Convert SVG to PNG in Python

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71763093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档