Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
1. 在Markdown中插入图片
由于Markdown是普通文本,所以它无法像word一样直接在文件中插入图片。要在Markdown中插入图片,通常有三种方式。
(1) 插入本地图片
在Markdown中插入本地图片的语法为:

括号中为图片的路径,可以是相对路径或绝对路径。这种情况下,一旦本地图片丢失或路径更改,都无法显示图片
(2) 插入网络图片
直接在括号里面填写网络图片路径即可:

这种情况下非常依赖于网络。
(3) 把图片存入Markdown文件中
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
可以将图片转化为base64编码,直接放到Markdown文件中,将图片显示出来。其语法为:
![img][figure]
[figure]:data:image/png;base64,iVBORw0...
其中
iVBORw0
之后为png格式图片的base64编码。可以将其放置于文件的最后。这种情况,如果图片较多,会导致文件比较大。
本文考虑将图片转化为base64编码,在Markdown中插入图片。
2. 算法概述
一般插入的图片有两种,一种是直接从剪切板中插入图片,另一种是从本地文件中导入图片。
优先考虑剪切板,如果剪切板中有图片,则将剪切板中的图片转化为base64编码。如果没有图片,则选择一张本地图片,获取其base64编码。这两种方式都需要将图片另存为png格式,然后获取这个png格式图片的base64编码。
在得到的base64字符串中添加用于Markdown的头部字符串,并将其写入剪切板。随后直接去Markdown文件中粘贴。
3. 程序代码
使用python 3实现,代码如下:
# python 3
# writen by Liangjin Song on 20200410
# Convert pictures to base64 encoding for using in markdown