0%

一款图片文件转 Base64 编码的 Python GUI 工具

0 前言

最近整理文件的时候找到了之前写的一个用于将图像转换为 base64 字符串的 Python GUI 小工具。写这个工具的初衷是当时刚刚接触 markdown,有时需要往 markdown 文件中嵌入一些图片,而向 markdown 中嵌入图片通常有以下三种方式:

  • 将图片上传图床,在 markdown 文件中进行 URL 引用
  • 将图片置于某个位置,在 markdown 文件中进行相对位置引用或绝对位置引用
  • 将图片转换为 base64 字符串,在 markdown 文件中直接引用字符串来呈现图像

方式一有网络访问的实时要求,方式二需要保证 markdown 文件总是能访问到图片文件,两种方式都不利于文档的共享传播。为实现方式三,使用 Python + Tkinter 写了一个 GUI 小工具,它长下面这样:

img2base64 工具截图

代码已经上传 github,下面我直接将工程的 README 搬过来了。

1 特性

  • 将单一图片转换为 base64 字符串,并将转换结果自动复制到剪贴板
  • 将多图片转换为 base64 字符串,并将转换结果保存至各自的文本文件
  • 转换进度显示

2 依赖

  • Python 3.1 及更高版本
  • pyperclip

    1
    pip install pyperclip
  • tkinter

    对于 windows 系统,自 Python 3.1 起,tkinter 默认包含于 Python 发行版。对于 ubuntu 系统,需要执行下述命令安装 tkinter

    1
    sudo apt-get install python3-tk
  • xclip

    对于 ubuntu 系统,在使用本工具前需要先安装 xclip

    1
    sudo apt-get install xclip

3 用法

3.1 运行工具

1
python img2base64.py

3.2 单一图片转换

  • 首先点击Select single image按钮选择目标图片,然后点击Convert & Copy按钮转换图片,转换得到的 base64 字符串会自动复制到剪贴板。

3.3 多图片转换

  • 首先点击Select several images按钮选择目标图片的存放路径,然后点击Convert & Export按钮选择存放转换结果的路径,每张图片会被转换到各自对应的文件。

4 后记

可以使用 PyInstaller 将工具脚本及其所有依赖打包为一个单一可执行文件。这里我没有将可执行文件上传,打包方法比较简单,有兴趣得话可以查阅相关资料,通常执行下面的命令行即可:

1
pyinstaller -F -w img2base64.py

Thank you for your donate!