专栏首页林德熙的博客SublimeText 粘贴图片保存到本地

SublimeText 粘贴图片保存到本地

在写 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 就可以成功安装。

在安装完成之后,从刚才打开的文件夹可以看到 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))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • dotnet OpenXML 的 spcPct 和 spcPts 表示距离的不同

    在 OpenXML 里面的文本排版里面使用到 spcPct (Spacing Percent) 和 spcPts(Spacing Points)两个不同的单位用...

    林德熙
  • WPF SharpDx 性能优化方法

    监听了 Window 的 ContentRendered 事件将会降低整个 WPF 的渲染性能

    林德熙
  • WPF UncommonField 类型是什么

    本文告诉大家一个黑科技,这个黑科技在.net 框架外无法使用,这就是 UncommonField 。下面将会告诉大家这个类有什么用。

    林德熙
  • python根据已有文件名的文件复制文件到新文件夹中

    最近需要对一些图片进行整理,需要从一堆图片中将已经存在在文件中的图片移动到另外一个新的文件夹中,所以就特意就写了一个小玩意方便使用.下面是代码实现:

    小海怪的互联网
  • python的常用模块

    os.name:获取当前系统平台,Windows下返回'nt',Linux下返回'posix'。 os.linesep:获取当前平台使用的行终止符。Windo...

    py3study
  • 为您的组织机构选择正确的企业云解决方案

    云计算作为一种强大的新技术,正在被越来越多的组织迁移和使用。然而向云的迁移也着实让人担心。开发复杂度、时间损耗、安全风险、噩梦般的应用迁移方案还有不成熟的私有云...

    solarest
  • Redis持久化

    很多时候我们需要持久化数据也就是将内存中的数据写入到硬盘里面,大部分原因是为了之后重用数据(比如重启机器、机器故障之后回复数据),或者是为了防止系统故障而将数据...

    一点博客
  • MER: 不同聚类阈值对群落结构影响不大

    采用Uclust de novo的模式聚类OTU,阈值分别为87%,89%, 91%, 93%, 95%, 97%, 99%。

    生物信息知识分享
  • Python实战(1)模拟wc命令部分功

    1、open(filename) 传入的是变量filename 不要写成open('filename'),不然传入的就是字符串不是变量了

    py3study
  • 如何利用Gitlab-CI持续部署到远程机器?

    如果看过《基于docker-compose的Gitlab CI/CD实践&排坑指南》这篇文章的朋友,会注意到我是在 Gitlab-Runner服务器上自动部署的...

    小码甲

扫码关注云+社区

领取腾讯云代金券