鱼C论坛

 找回密码
 立即注册
查看: 2392|回复: 51

[作品展示] Python:用tkinter写一个截图程序

[复制链接]
发表于 2024-2-3 14:08:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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:(原本还想放几张截图的,结果发现不行

代码实现

游客,如果您要查看本帖隐藏内容请回复


程序界面

1.PNG

挺简洁的吧

结束语

这就是我写出的截图程序了

如果大家觉得有用,还请评分,谢谢啦

球球啦!





评分

参与人数 12荣誉 +41 鱼币 +41 贡献 +29 收起 理由
学习编程中的Ben + 5
sfqxx + 5 + 3
不二如是 + 2 + 3 + 3 鱼C有你更精彩^_^
小甲鱼的二师兄 + 2 + 3 + 3 鱼C有你更精彩^_^
zhangjinxuan + 7 + 7 无条件支持楼主!
中英文泡椒 + 2 + 5 + 2 鱼C有你更精彩^_^
日出之前 + 3 + 3 + 3 鱼C有你更精彩^_^
cjjJasonchen + 5 + 5 + 3
python爱好者. + 5 + 5 + 3 鱼C有你更精彩^_^
歌者文明清理员 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-2-3 19:17:11 | 显示全部楼层
谢谢大家支持!开森
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-2-3 14:12:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 14:17:43 | 显示全部楼层
很不错啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-3 14:18:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 14:20:54 | 显示全部楼层
总有这种人才
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-3 14:21:32 | 显示全部楼层

啥意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 14:23:14 | 显示全部楼层

羡慕嫉妒恨
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 14:25:25 | 显示全部楼层
写出来了?!我还以为你跑了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-3 14:26:37 | 显示全部楼层
陶远航 发表于 2024-2-3 14:25
写出来了?!我还以为你跑了

刚进入初中学业紧张...

到了寒假有时间啦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 15:04:51 | 显示全部楼层

评分

参与人数 1荣誉 +5 鱼币 +2 贡献 +3 收起 理由
python爱好者. + 5 + 2 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-3 16:01:31 | 显示全部楼层
为啥没有@我?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 16:07:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-3 17:17:44 | 显示全部楼层
终于来啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 17:24:09 From FishC Mobile | 显示全部楼层
zhangchenyvn 发表于 2024-2-3 16:01
为啥没有@我?

因为他刚回来,不认识你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 17:38:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-3 18:07:01 | 显示全部楼层

就是夸你厉害的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 18:08:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 18:42:11 | 显示全部楼层
不错呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-2-3 19:14:58 | 显示全部楼层

加个好友~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-3 19:15:12 | 显示全部楼层
日出之前 发表于 2024-2-3 18:07
就是夸你厉害的意思

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表