简介

有的时候自己写技术文档或者笔记的时候发现md语法下的插入图片要么是本地要么是图床

![img](./lady.jpg)
![img](http://......)

本地的缺点是到服务器上加载较慢(gitgub)、或者是发文档给别人的时候忘记发图。。。
图床这种东西嘛、哪天说不定就没了
之前看到过将图片直接内嵌入文档里,当然缺点就是会增大文件体积,但是解决了图片丢失的可能哇
又有人就会说,一个几M的图片转换出来的bs64码比我的文章还长啊(不信你试一下复制下面的bs64看一下多少字符,小新复制的时候死机-.-),有没有什么办法呢??
办法肯定是有的
给图片编号,并将所有的图片base64编码放在文档的最后即可,格式如下:
在插入图片的地方:![图片缺失描述][图片编号]
在文档最后:[图片编号]:data:image/jpg;base64,base64编码
但是这样又有一个缺点就是Typora会卡,现在直接说打不开了。。实际上才不到4M

!!!这就很让我头疼了,于是琢磨了一下该压缩一下子了,之前没有经过压缩存储到md文档里图片还是比较大的,于是又研究了py压缩

GIthub项目地址

效果

格式!!!

在插入图片的地方:![图片缺失描述][图片编号]
在文档最后:[图片编号]:data:image/jpg;base64,base64编码

在线转换

直接Bing搜图片转bs64
比如这里

py转换bs64

import base64
f=open('lady.jpg','rb') #图文件lady.jpg,自行更改
pbs64=base64.b64encode(f.read()) #读取文件内容,转换为base64编码
f.close()
print(pbs64)

这样转换的话展开bs64码py会卡死(2k lines。。),于是稍微改进一下,将产生的大量字节流写入到一个文本文件(bs64.txt)中,使用记事本打开就不会卡死了,实测中记事本卡住了两秒,editplus就好多了,基本没有这种问题,而且editplus中的bs64默认是没有自动换行,直接复制一行很舒服

import base64
f=open('lady.jpg','rb') #图文件lady.jpg,自行更改
pbs64=base64.b64encode(f.read()) #读取文件内容,转换为base64编
f.close()
#print(pbs64)
mf=open("bs64.txt","wb") #新建目标文件存储bs64码
mf.write(pbs64)
mf.close

你问我为什么不在这里放一个例子???因为CSDN承受不住复制bs64码。。。。不信看文末,
【我本来复制到这里做嵌入bs64的,但是它卡死了。。无法保存或发布文章】
示例看我的博客站点吧
http://kearney.club/2020/06/11/%E6%88%91%E7%9A%84%E8%97%8F%E5%B0%B8%E4%B8%8D%E8%A7%81%E4%BA%86/
这是github Page静态托管,正常显示,实际再Typora编辑过程中我的文章一千多字吧,加了三张图片的bs64,变成3w多字。。。后台看了下占用的内存不大,但是可能是typora本身加载数据量的问题吧,在3w多字符中复制粘贴有点卡顿延迟(我32G内存空余60%多)。

无损压缩

使用方法:直接拉到代码底部,修改picturepath即可
图片和代码需要在同一目录下

省略的代码放在了github上。。省的大家看得烦
https://github.com/BackMountainDevil/image-into-bs64def img_bs64(infile,outfile='', savefile =''):compress_image(infile)outfile = get_outfile(infile, outfile)f=open(outfile,'rb')pbs64=base64.b64encode(f.read()) f.close()dir, suffix = os.path.splitext(infile)savefile = '{}-out{}'.format(dir, '.txt')mf=open(savefile,"wb")mf.write(pbs64)mf.closeos.remove(outfile)if __name__ == '__main__':picturepath= "luffy.jpg" img_bs64(picturepath)

代码都cv完了,真的不点个赞再走吗??
到 GIthub点个Star也成啊

参考

  • https://github.com/BackMountainDevil/image-into-bs64
  • https://cn.bing.com/search?q=%e5%9b%be%e7%89%87%e8%bd%acbs64&qs=SC&pq=%e5%9b%be%e7%89%87%e8%bd%acbs&sc=1-5&cvid=5B916F1601B6423BBAC2240FC489E031&FORM=QBRE&sp=1
  • https://oktools.net/image2base64
  • https://blog.csdn.net/baidu_31492511/article/details/90704123
  • https://blog.csdn.net/cxs123678/article/details/82533306
  • https://www.jianshu.com/p/280c6a6f2594
  • https://www.runoob.com/python/python-files-io.html
  • https://blog.csdn.net/baidu_33221362/article/details/81566874
  • https://blog.csdn.net/qq_31567335/article/details/82322858?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf
  • https://www.cnblogs.com/li1992/p/10675769.html
  • https://blog.csdn.net/julac/article/details/105492336
  • https://github.com/BackMountainDevil/image-into-bs64
  • https://blog.csdn.net/qq_36387683/article/details/100579736
![picture][1]
其它正文
末尾
[1]:data:image/jpg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEOKADAAQAAAABAAAFoAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8IAEQgFoAQ4AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAMCBAEFAAYHCAkKC//EAMMQAAEDAwIEAwQGBAcGBAgGcwECAAMRBBIhBTETIhAGQVEyFGFxIweBIJFCFaFSM7EkYjAWwXLRQ5I0ggjhU0AlYxc18JNzolBEsoPxJlQ2ZJR0wmDShKMYcOInRTdls1V1pJXDhfLTRnaA40dWZrQJChkaKCkqODk6SElKV1hZWmdoaWp3eHl6hoeIiYqQlpeYmZqgpaanqKmqsLW2t7i5usDExc

Markdown中永久嵌入bs64图片,python PIL等比列强压缩后将图片转换为bs64,2M直接压成100k相关推荐

  1. 移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

    现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片 ...

  2. AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字

    AI 质检学习报告--实践篇--第一步:python利用OpenCV打开摄像头并截图 AI 质检学习报告--实践篇--第二步:实现图片识字 前边两篇实践已经分别实现了利用OpenCV打开摄像头并截图和 ...

  3. vue上线后图片不显示_解决Vue打包后访问图片/图标不显示的问题

    大家可否遇到过 npm run build打包后,项目在线上运行时,资源文件 (图片.图标)不显示 的问题, 接下来,我给大家分享一下我的解决方案~ 1.检查打包后dist中的css文件 打开此文件后 ...

  4. python等比例压缩图片_python(PIL)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图详解...

    #coding:utf-8 ''' python图片处理 @author:fc_lamp @blog:http://fc-lamp.blog.163.com/ ''' import Image as ...

  5. python pil 第三方库实战之二:图片叠加

    2.图片叠加 from PIL import Image,ImageFont,ImageDraw im=Image.open('car.jpg') im=im.rotate(20) im1=Image ...

  6. python(pil)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图

    我在这里就不多说了,直接上代码: https://my.oschina.net/neo600/blog/136393 How do I read image data from a URL in Py ...

  7. php爬去百度图片,python爬虫:随心所欲地爬取百度图片

    文章目录一.前言 二.需要导入的库 三.实现过程 1.下载链接分析 2.代码分析 3.完整代码 四.Blogger's speech 一.前言 之前爬取了很多静态网页的内容,包括:小说.图片等等,今天 ...

  8. python爬虫爬取百度图片,python爬虫篇2:爬取百度图片

    入门级 import requests import re import os from urllib import error def main(): dirPath = "E:\pyth ...

  9. php 图片压缩 保留exif,Android Bitmap小技巧 - 压缩时保留图片的Exif信息

    大家都知道,相机在照相时是会为照片生成Exif,里面包含有拍照时间.图片尺寸.旋转角度.GPS定位等信息,有时候,我们的APP在展示图片的时候需要获得并展现这些信息. 但是在android中,当我们将 ...

  10. vivado中交织模块_搞定Markdown中的图片,一劳永逸的方法!

      经常用markdown写博客的朋友一定都体会过markdown图片的蛋疼之处,并不是说图片的这用引用方式不好,而且图片要放到什么服务器上?   以我个人为例,写了一篇markdown,想在不修改任 ...

最新文章

  1. 深入浅出时序数据库之预处理篇——批处理和流处理,用户可定制,但目前流行influxdb没有做...
  2. html+not选择器,CSS3属性选择器与(:not)选择器_html/css_WEB-ITnose
  3. 数据库范式解析(1NF 2NF 3NF BCNF)
  4. vsftp实现只能上传不能下载、删除权限配置
  5. c支限界算法语言n皇后问题分,算法(八)-回溯法-N皇后问题
  6. tomcat 绑定ipv4端口
  7. SAP 电商云 Spartacus Checkout 端到端测试
  8. 个人或者企业怎么进行app开发?开发一款APP应用大概须要多少钱?
  9. P6466-分散层叠算法(Fractional Cascading)【模板】
  10. c++中的结构体_C ++中的结构
  11. linux多CPU进程负载均衡解析
  12. 索引法则--尽量使用覆盖索引
  13. pyecharts 插入到 ppt
  14. Experimental Class Task 4-1: Pupil Calculator
  15. LeetCode——自除数
  16. 2009 中国七夕情人节 --期待
  17. 实现抖音闪烁效果---OpenCV-Python开发指南(54)
  18. 程序员吐槽培训班简历造假,经验包装竟拿到阿里外包26k的offer
  19. 生活,寻找幸福的感觉
  20. mp4视频 一帧字节大小

热门文章

  1. Android应用程序启动时出现白色背景问题
  2. iOS面试题与核心基础之性能优化
  3. 通过 jstack 与 jmap 分析一次线上故障
  4. java 设置文本框文字居中_div居中 边框设置 文字行高设置
  5. 三角形各种心的代数几何性质
  6. 学习记录514@react使用antd选择器设置下拉菜单宽度
  7. 视频编码中的PAFF和MBAFF的区别 转自:http://blog.csdn.net/kerryhung/article/details/4433256...
  8. 万用表测占空比怎么接_万用表的占空比是什么意思?
  9. unity编辑器莫名崩溃
  10. 电视制式以及伴音载频制式详解