zjg121 发表于 2024-3-25 19:17

矢量图svg转白色底png,可以更改背景色

本帖最后由 zjg121 于 2024-3-25 19:24 编辑

有些网页图片显示的是矢量图svg格式,python处理时很困难。采用下面方法,可以把它转化为png,再c'l使用cairosvg库,需要先设置环境:
1.从https://github.com/tschoonj/GTK- ... ?tab=readme-ov-file下载GTK3。

2.安装下载的GTK3。
3.按win键,搜索环境变量,选编辑系统环境变量:

4.打开pycharm,运行姓名代码。


import cairosvg
from PIL import Image
import io


def svg_to_white_bg_jpg(svg_file, output_jpg_file):
    # 将SVG文件转换为PNG格式
    png_data = cairosvg.svg2png(url=svg_file)

    # 使用PIL库打开PNG文件
    img = Image.open(io.BytesIO(png_data))

    # 将图像背景设置为白色
    white_bg_img = Image.new("RGBA", img.size, "white")
    white_bg_img.paste(img, mask=img.split())# 使用alpha通道作为mask

    # 将修改后的图像保存为JPG格式
    white_bg_img.convert("RGB").save(output_jpg_file)


# 使用示例
svg_file = "d:/1.svg"
output_jpg_file = "d:/1.jpg"
svg_to_white_bg_jpg(svg_file, output_jpg_file)

archon1 发表于 2024-3-25 22:28

本帖最后由 archon1 于 2024-3-25 22:30 编辑

chrome/Chromium系浏览器有一个扩展叫SVG Export,不要太好用。为了一个小小功能,得安装几个巨大的软件,实在有点得不偿失。
https://chromewebstore.google.com/detail/svg-export/naeaaedieihlkmdajjefioajbbdbdjgp

sai609 发表于 2024-3-25 20:47

有啥办法,无限放大,也能看清文档内容,用啥图片格式

独立勿扰 发表于 2024-3-26 08:12

sai609 发表于 2024-3-25 20:47
有啥办法,无限放大,也能看清文档内容,用啥图片格式

用矢量图,.svg、.ai或者其他的矢量图格式。都是可以的,具体就看你的设备都支持哪些格式了。

sail2000 发表于 2024-3-26 08:16

sai609 发表于 2024-3-25 20:47
有啥办法,无限放大,也能看清文档内容,用啥图片格式

你是在找PDF吗{:1_918:}

ALDCYY 发表于 2024-3-26 09:05

直接用AI打开另存为PNG不就行了

爱飞的猫 发表于 2024-3-26 09:06

archon1 发表于 2024-3-25 22:28
chrome/Chromium系浏览器有一个扩展叫SVG Export,不要太好用。为了一个小小功能,得安装几个巨大的软件, ...
那是因为 Chromium 内置了 SVG 支持,实现起来不麻烦(你想想浏览器有多大…)。

不过主要问题还是 Python 的 SVG 支持竟然需要一整套 GTK 运行时… 有点炸裂。

AgnesW 发表于 2024-3-26 09:45

没想到这么麻烦!不过感谢Lz的分享{:1_919:}

sai609 发表于 2024-3-26 12:52

sail2000 发表于 2024-3-26 08:16
你是在找PDF吗

不是,脑图转图片格式,非PDF

sai609 发表于 2024-3-26 12:52

独立勿扰 发表于 2024-3-26 08:12
用矢量图,.svg、.ai或者其他的矢量图格式。都是可以的,具体就看你的设备都支持哪些格式了。

矢量图,啥格式
页: [1] 2
查看完整版本: 矢量图svg转白色底png,可以更改背景色