PIL 创建 SVG 图像

PIL to create SVG images

我想知道有没有办法用 PIL 库创建 SVG 图像?

我需要创建一个大约 500x500px 的黑色正方形并向其添加一些简单的文本,我知道这对于 PIL 来说是一个简单的任务。但是我找不到任何方法将它保存为 SVG 到我的电脑

PIL/Pillow 是一个 光栅 图像处理器,a.k.a。 bitmap 图像处理器,无法生成 vector 输出,例如 SVG。

但是,如果您真的只需要一个 500x500 的黑色矩形和一些简单的文本,您可以自己编写它而无需任何库依赖:

#!/usr/bin/env python3

# Create SVG string - more examples here https://www.w3schools.com/graphics/svg_intro.asp
svg = """<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" width="500" height="500">
  <rect width="500" height="500" style="fill:rgb(0,0,0)" />
  <text x="20" y="200" fill="yellow">Some simple text.</text>
</svg>
"""

# Write to a text file
with open('image.svg', 'w') as f:
    f.write(svg)

文件内容很明显看起来像代码中的字符串svg,您可以将其转换为PNG以便使用ImageMagick查看,如下所示:

magick image.svg result.png

您同样可以使用网络浏览器通过单击 File->Open File 并选择 image.svg

来可视化它