马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Ewan-Ahiouy 于 2024-2-4 20:02 编辑
前情提要
大家好!我是EA!
距离我接手了 这个求贤令之后,已经过去了有6个月的时间
鸽了有6个月啊!
(学业紧张时间有限啊...... )
终于...到寒假啦!!!
到了寒假,时间多了起来,终于终于,在今天,写好了!
虽然......有一些功能我实在是实现不了......(长截图啊啊啊啊啊)
但是还是决定发出去交个差
毕竟鸽了太久太久了...
虽然没有长截图,但是其他功能已经完成啦!
如果你喜欢的话,可以动动发财的小手,给这篇帖子一点评分哦~
谢谢啦~
注:代码的长截图的那个按钮,实际的功能其实和自定义截图一样的
正文
解释一下代码原理
全屏截图
就是PIL模块获取全屏的图片,然后保存就可以了。
# 获取窗口图片
img = ImageGrab.grab()
# 获取文件保存位置
fileName = filedialog.asksaveasfilename()
# 未保存
if not fileName:
return
if ".jpg" not in fileName:
fileName += ".jpg"
# 保存图片
img.save(fileName)
# 展示图片
img.show()
自定义截图
这个就有一点复杂了
我还借鉴了一点点小甲鱼老师的代码
小甲鱼老师不会介意吧
我的办法是:
按下按钮后,把窗口的所有组件全部隐藏,然后全屏并设置为半透明。
之后,检测是否按下鼠标。按下时,记住坐标。
然后,检测拖动。拖动时,会出现一个矩形,可以显示截图的区域,且中间会显示大小。(借鉴小甲鱼老师的录屏程序 )
待到鼠标弹起,记住坐标,获取窗口的全截屏,然后把选择的区域裁出来,再保存。
最后窗口、组件恢复原样,OK!
以下是实现代码,回复获取哦
PS:(原本还想放几张截图的,结果发现不行 )
代码实现
程序界面
挺简洁的吧
结束语
这就是我写出的截图程序了
如果大家觉得有用,还请评分,谢谢啦
球球啦!
|