其他分享
首页 > 其他分享> > md内嵌改进版

md内嵌改进版

作者:互联网

md内嵌图片

问题:在使用了上次自己打包的exe之后,发现只能转很小的截图,大的使用img标签就无法转换成图片了。
因为md文件支持bs4的形式,可以用python写个脚本进行使用

直接上大佬的源码 https://www.jianshu.com/p/8c0d00fca9b3

import win32ui, os, base64
from PIL import Image, ImageGrab

im = ImageGrab.grabclipboard()
if isinstance(im, Image.Image):
    img = im
else:
    dlg = win32ui.CreateFileDialog(1)  # 1表示打开文件对话框
    dlg.SetOFNInitialDir(r'*\img放一张')  # 设置打开文件对话框中的初始显示目录
    dlg.DoModal()
    filename = dlg.GetPathName()  # 获取选择的文件名称
    img = Image.open(filename)

    #*是自己的地址
img.thumbnail((778, 439), Image.ANTIALIAS)
img = img.convert('RGB')
img.save(r"*\1.jpg", quality=70)

with open(r"*\1.jpg", 'rb') as f:
    base64_data = base64.b64encode(f.read())
    s = base64_data.decode()
    print('![](data:image/jpeg;base64,%s)' % s)

os.remove(r"*\1.jpg")

功能很简单,仍然可以在固定路径进行选择图片转换,也可以检测是否剪切板上有图片,直接转换剪切板的。

与之前那次的明显对比是输出的样式,之前的是

现在的图片嵌入格式是

而且这种格式是比较正式和官方的插入图片格式。

代码的功能很简单,试着打包成exe然后自己使用咯,网上说的嵌入的流代码太长的问题完全不用担心,因为在源码之外点击之后他只会显示图片了。

如下这种显示方式,还是看起来非常好用的,不用像一些博主说的把字节流卸载文章底部,然后写引用跳转过去访问图片,真没必要,本人亲测:图片一多天花乱坠,根本找不到那张图片是那张图片。。。

使用python的第三方库pyinstaller -F 自己的py文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4J86skd-1633062292950)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20211001115930701.png)]

然后就搭配QQ的截图快捷键,截图之后点一下exe,直接粘贴到想粘贴的md文档里就好啦,特别方便,一套流程下了终于不像是愣头青一样,只在CSDN上一张一张图片上传了(亲测:简直不是人能干的事)。

上传CSDN时发现:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q3sFWjD7-1633062292951)

不好意思,打扰了,我换回来。

在写入的文件中自己进行了更改

pyperclip提供了一个跨平台的python模块,用于将文本复制和粘贴到剪贴板Pyperclip是第三方库,需要使用pip安装在虚拟环境或anaconda环境中。

就不用像博主那样写vbs了,毕竟没系统学过vbs的写法,总是莫名其妙报错。

with open(r"C:\Users\ASUS\Desktop\1.jpg", 'rb') as f:
    base64_data = base64.b64encode(f.read())
    s = base64_data.decode()
    # print('![](data:image/jpeg;base64,%s)' % s)
    st = '<img src="data:image/jpeg;base64,' + s + '" width = "600" />'
    print(st)
    pyperclip.copy(st)

标签:md,dlg,img,内嵌,Image,base64,改进版,data,图片
来源: https://blog.csdn.net/wangaolong0427/article/details/120576894