+
35
-

python如何将svg图标转换成png图片?

python如何将svg图标转换成png图片?


网友回复

+
14
-

在 Python 中将 SVG 图标转换为 PNG 图片,有多种方法,主要区别在于对系统依赖的要求和转换质量。下面按推荐程度介绍几种常用方案。

1. 使用 CairoSVG(推荐,纯 Python 调用 Cairo 库)

CairoSVG 是最常用的库,转换质量高,支持透明背景,可控制输出尺寸。

安装

pip install cairosvg

注意:CairoSVG 依赖系统的 Cairo 库。Windows 下通常需要额外安装 GTK 或下载 Cairo 的 DLL,最简单的方法是安装 pycairo 的预编译包,如 pip install pycairo‑‑only-binary=pycairo 或使用 conda:conda install -c conda-forge cairosvg。macOS 可用 brew install cairo,Linux 用 apt install libcairo2-dev。

示例代码

import cairosvg

# 从文件转换
cairosvg.svg2png(url="icon.svg", write_to="icon.png")

# 从字符串转换,控制输出尺寸(保持比例)
svg_str = '''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
                <circle cx="50" cy="50" r="40" fill="blue"/>
             </svg>'''
cairosvg.svg2png(bytestring=svg_str.encode(), write_to="icon2.png",
                 output_width=512, output_height=512)

点击查看剩余70%

我知道答案,我要回答