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. ip-up脚本参数

    pppoe连接建立后,系统自动调用/etc/ppp/ip-up脚本. 其参数如下面文件所示,第4个参数是系统获得的动态ip.#!/bin/bash## Script which handles the ...

  2. python基础-logging应用

    import logging.config BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))LOG_PATH=o ...

  3. 第三章 Odoo 12 开发之创建第一个 Odoo 应用

    Odoo 开发通常都需要创建自己的插件模块.本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件.我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进 ...

  4. Django项目:CRM(客户关系管理系统)--69--59PerfectCRM实现king_admin行内编辑

    #base_admin.py # ————————24PerfectCRM实现King_admin自定义操作数据———————— from django.shortcuts import render ...

  5. fileinput使用心得

    下咋以及一些具体使用过程就不叙述了,简单说一下使用时候需要注意的几点 1.在js中封装好的fileinput函数 /* * 初始化fileInput控件(第一次初始化) * type 不同类别 * i ...

  6. 软件-MQ-RabbitMQ:RabbitMQ

    ylbtech-软件-MQ-RabbitMQ:RabbitMQ RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).RabbitMQ服务器是用Erlang语 ...

  7. MyBatis配置文件(七)--environments运行环境

    一.environments配置信息: environments的作用是用来配置数据库信息,可以配置多个,其有两个可配的子元素,分别是:事务管理器transactionManager和数据源dataS ...

  8. MyBatis配置文件(三)--typeAliases别名

    因为类的全限定名一般包括包名,显得很长,在使用过程中不是很方便,所以MyBatis中允许我们使用一种简写的方式来代替全限定名,这就是别名.这就相当于我们在玩微信的时候,有些人的昵称很长很难记,怎么办? ...

  9. 汇总下几个IP计算/转换的shell小脚本-转

    原文:http://blog.chinaunix.net/uid-20788470-id-1841646.html   1. IP转换为整数> vi ip2num.sh#!/bin/bash# ...

  10. Dom4j官网解释实例

    Dom4j是一个易于使用的,开源的库,在Java平台上与XML,XPath,XSLT协同工作.使用Java集合框架,全面支持DOM,SAX,JAXP. 官方网站:http://dom4j.org 1. ...