title author date CreateTime categories
SublimeText 粘贴图片保存到本地
lindexi
2018-05-22 15:15:26 +0800
2018-05-22 14:59:29 +0800

在写 Markdown 时,比较难的是把图片粘贴保存到本地,或上传到服务器。
本文提供一个简单的方式可以把剪贴板的图片粘贴保存本地。

首先需要下载代码,打开 https://github.com/dotnet-campus/imagepaste 然后下载代码,可以使用 git 的方式下载

然后点击 SublimeText 的 Preference ,点击 Browse Package ,这时会弹出一个文件夹,文件夹的路径是C:\Users\用户名\AppData\Roaming\Sublime Text 3\Packages

在 SublimeText 安装包 imagepaste ,安装的方法是按下 ctrl+shift+p 然后输入 install ,选择 PackageControl:Install Package ,这时需要等一下才会出现弹出的输入。在弹出的输入,输入 imagepaste 就可以成功安装。

![](image/SublimeText 粘贴图片保存到本地/SublimeText 粘贴图片保存到本地0.png)

在安装完成之后,从刚才打开的文件夹可以看到 ImagePaste 文件夹,把下载下来的文件替换这个文件夹的文件就可以了。

这时尝试截图,然后粘贴,可以看到显示是

![](image/文件名/文件名0.png) 

如果需要修改保存的文件路径,那么需要修改 ImagePaste.py 文件,在开始修改,希望你有一些 py 开发的经验,如果没有的话,可能看不懂我在写什么

保存的路径在 get_filename 函数里面写,所以打开 get_filename 函数可以看到下面代码

def get_filename(self):
view = self.view
filename = view.file_name() # create dir in current path with the name of current filename
dirname, _ = os.path.splitext(filename) # create new image file under currentdir/filename_without_ext/filename_without_ext%d.png
fn_without_ext = os.path.basename(dirname)
gitbook_dir = os.path.split(dirname)[0]+'\\image\\'+fn_without_ext if not os.path.lexists(gitbook_dir):
os.mkdir(gitbook_dir) i = 0
while True:
# relative file path
rel_filename = os.path.join("%s/%s%d.png" % ("image/"+fn_without_ext, fn_without_ext, i))
# absolute file path
abs_filename = os.path.join(gitbook_dir, "%s%d.png" % ( fn_without_ext, i))
if not os.path.exists(abs_filename):
break
i += 1 print("save file: " + abs_filename + "\nrel " + rel_filename)
return abs_filename, rel_filename

这里的 gitbook_dir 就是用来保存图片的绝对路径,rel_filename 就是用来放在文本的相对路径。

从代码gitbook_dir = os.path.split(dirname)[0]+'\\image\\'+fn_without_ext 可以把路径修改为 os.path.split(dirname)[0]文件所在文件夹路径下的 Image 文件夹的 fn_without_ext 去掉文件后缀名的文件夹。

rel_filename = os.path.join("%s/%s%d.png" % ("image/"+fn_without_ext, fn_without_ext, i))可以拿到合并了image文件夹和fn_without_ext去掉后缀名的文件名作为文件夹的相对路径,所以里面的修改就十分简单了

例如我需要把代码修改保存在 assets 文件夹下,不需要加上文件名的文件夹,例如

assets/xx0.png

那么可以这样修改

		gitbook_dir = os.path.split(dirname)[0]+'\\assets'
rel_filename = os.path.join("%s/%s%d.png" % ("assets/", fn_without_ext, i))

2018-5-22-SublimeText-粘贴图片保存到本地的更多相关文章

  1. php 获取远程图片保存到本地

    php 获取远程图片保存到本地 使用两个函数 1.获取远程文件 2.把图片保存到本地 /** * 获取远程图片并把它保存到本地 * $url 是远程图片的完整URL地址,不能为空. */ functi ...

  2. iOS 将图片保存到本地

    //将图片保存到本地 + (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key {     NSUserDefaults* prefer ...

  3. iOS-iOS调用相机调用相册【将图片保存到本地相册】

    设置头部代理 <UINavigationControllerDelegate, UIImagePickerControllerDelegate> 1.调用相机 检测前置摄像头是否可用 - ...

  4. Android View转为图片保存为本地文件,异步监听回调操作结果;

    把手机上的一个View或ViewGroup转为Bitmap,再把Bitmap保存为.png格式的图片: 由于View转Bitmap.和Bitmap转图片都是耗时操作,(生成一个1M的图片大约500ms ...

  5. js截图及绕过服务器图片保存至本地(html2canvas)

    今天要分享的是用html2canvas根据自己的需求生成截图,并且修复html2canvas截图模糊,以及绕过服务器图片保存至本地. 只需要短短的几行代码,就能根据所需的dom截图,是不是很方便,但是 ...

  6. React Native之图片保存到本地相册(ios android)

    React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...

  7. FFmpeg解码视频帧为jpg图片保存到本地

    FFmpeg解码视频帧为jpg图片保存到本地 - CSDN博客 https://blog.csdn.net/qq_28284547/article/details/78151635

  8. java将base64解析图片保存到本地。

    将base64解析图片保存到本地的两个方法 /** * base64转图片 * @param base64str base64码 * @param savePath 图片路径 * @return */ ...

  9. 微信小程序图片保存到本地

    微信小程序图片保存到本地是一个常用功能: 这里讲解下完整实现思路: 因为微信官方的授权只弹一次,用户拒绝后再次调用,就需要结合button组件的微信开放能力来调起,以下方案在微信各种授权中可参考. w ...

随机推荐

  1. Windows API 第六篇 GetLocalTime

    GetLocalTime获取系统时间信息.函数原型:VOID   WINAPI  GetLocalTime(    __out LPSYSTEMTIME lpSystemTime    ); 先来看S ...

  2. JS两个相同的字符串被判断为不相等问题

    今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是string, 仔细查看过了首尾都没有空格. 可是用a==b却判断为不相等 后来在网上 ...

  3. BottomNavigationView(底部导航)

    BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigat ...

  4. 装配SpringBean(五)--注解装配之自动装配

    在spring ioc容器中,spring要先完成bean的定义和生成,然后需要需要注入的资源,在上一篇的扫描组件中就是这样实现的.而自动装配中我们只需要定义和生成一个bean,发现bean的过程将由 ...

  5. Python爬虫工程师必学——App数据抓取实战

    Python爬虫工程师必学 App数据抓取实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...

  6. JQuery学习:事件绑定&入口函数&样式控制

    1.基础语法学习: 1.事件绑定 2.入口函数 3.样式控制 <!DOCTYPE html> <html lang="en"> <head> & ...

  7. Hadoop Serialization hadoop序列化详解(最新版) (1)【java和hadoop序列化比较和writable接口】

    初学java的人肯定对java序列化记忆犹新.最开始很多人并不会一下子理解序列化的意义所在.这样子是因为很多人还是对java最底层的特性不是特别理解,当你经验丰富,对java理解更加深刻之后,你就会发 ...

  8. String and Times

    String and Times 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Now you have a string consists of uppercase letters, ...

  9. Leetcode492.Construct the Rectangle构造矩形

    作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的. 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面.要求: 1. 你设计的矩形页面必 ...

  10. 纪念——代码首次达到近50K(更新:78.8K 2019行)

    #include<bits/stdc++.h> #define re register #define F(A) for(re int (A)=1;(A)<=8;++(A)) usi ...