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