【发布时间】:2022-01-10 19:18:57
【问题描述】:
我想知道有没有办法使用 PIL 库创建 SVG 图像?
我需要创建一个大约 500x500px 的黑色方块并添加一些简单的文本,我知道这对 PIL 来说是一件容易的事。但我找不到任何方法将其作为 SVG 保存到我的计算机中
【问题讨论】:
标签: python python-imaging-library
我想知道有没有办法使用 PIL 库创建 SVG 图像?
我需要创建一个大约 500x500px 的黑色方块并添加一些简单的文本,我知道这对 PIL 来说是一件容易的事。但我找不到任何方法将其作为 SVG 保存到我的计算机中
【问题讨论】:
标签: python python-imaging-library
PIL/Pillow 是一种光栅图像处理器,也称为位图图像处理器,无法生成矢量输出,例如 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 来使用网络浏览器将其可视化
【讨论】: