最近使用markdown写笔记要插入图片时老是需要先截屏保存图片再打开图床web上传,心血来潮想着能不能做个一条龙的软件,于是自己动手写了这个小工具。
主要流程:
- pyqt5全屏截图显示
- 捕捉鼠标事件实时显示自定义区域虚线框
- 展示截图等待操作(获取markdown链接 / 保存到剪切板 / 保存到本地)
pyqt5获取屏幕截图
使用QScreen对象的接口直接获取全屏截图返回QPixmap对象
screen = QApplication.primaryScreen()
pixmap = screen.grabWindow(0)
截图区域显示辅助类Bbox
存放截图区域的左上角与右下角两个点,方便获取(x, y, w, h)用于显示虚线框
class Bbox(object):
def __init__(self):
self._x1, self._y1 = 0, 0
self._x2, self._y2 = 0, 0
@property
def point1(self):
return self._x1, self._y1
@point1.setter
def point1(self, position: tuple):
self._x1 = position[0]
self._y1 = position[1]
@property
def point2(self):
return self._x2, self._y2
@point2.setter
def point2(self, position: