简单开发一个截图保存并返回链接的小工具JingSLink
JingPic迎来重构版JingSLink
自用简陋小工具系列
前言
写markdown文章时,贴图这件事儿真的很麻烦。我需要把图片手动保存到对应文件夹,再手动在文章里引入图片链接。所以很多时候我能不配图就不配图。多年前为了方便插入图床链接,用MFC做了个自用小工具JingPic。但是它是基于保存了的图片进行的操作,将图片转移到需要的位置。后期也没有维护,操作上依然不够简洁。比如我更喜欢直接截图能自动保存到指定位置,这样就减少一步自己保存的操作。
自己定制还是最爽的,我想要什么功能我自己开发好了。而且这个小工具开发起来也很简单,几十行很快就写完了。
首先,要起个名字,以前的叫JingPic,这个重构版就叫JingSLink(Jinger Screenshot for Link)吧。
需求
- 能够截图
- 截图能保存到指定文件夹中
- 截图完成后,自动将图片相对路径复制到剪贴板
- 有exe可执行文件
技术
语言:Python
用到的库:tkinter, PIL, keyboard, pyperclip
实现
一开始我是想自己实现截图操作的,后来一想,我平日用QQ截图最多,它功能齐全,那我直接调用它的截图不就好了。
所以,大体实现思路如下:
- 监听键盘,捕捉QQ截图快捷键ctrl+alt+a,并设置一个结束键ctrl。
- 使用PIL库的ImageGrab读取截图。
- 弹出一个输入框,输入图片名称。
- 拼凑出图片完整链接,将图片保存到该地址。
- 拼凑出hexo博文中所需的图片插入相对地址,复制到剪贴板。
当然,为了不每次都打开pycharm编译器,得导出一个exe文件。
打包exe:
安装pyinstaller。
在pycharm中,
1 | pyinstaller -F main.py |
最后生成的exe文件在dist文件夹下。
代码
https://github.com/hubojing/JingSLink
后期优化
如有必要:
- 一些异常情况的提示
- 右下角有最小化托盘,右键有设置和退出菜单
- 可扩展性:可以更改文件夹路径
- 可扩展性:可以更改图片路径格式(绝对路径/相对路径)
- 换pyqt框架