python实现动态壁纸_流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸

原标题:流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸

公众号关注 “ 菜鸟学Python”

设为 “星标”,每天带你玩转Python!

1e9f47fe149a4d4a9fb2ea239cd68967.png

(女神IU,图片来自网络)

最近小编在浏览网页的时候,发现一个网页的背景是动态显示的,非常的炫酷。正好小编最近犯花痴,心仪的女神是韩国的小美女IU, 清纯可爱的小姐姐~~关键中文歌还唱的很好。

于是码农直男潜质又开始发挥了,想着想着干脆模仿着做一个小姐姐的动态桌面,让我的桌面也变得生动起来,天天看女神IU哈哈 。其实整个的思路很简单,我给大家分享一下利用Python来制作一个动态的Windows桌面。

1

整体的思路

首先,为大家介绍一下我们程序的思路是如何的。对于Windows系统而言,我们所看到的各个界面都是一个个的窗口组成的,这个窗口就类似于我们浏览器的一个个窗口,而每一个窗口都有一个句柄,这个句柄是一个整型数字,相当于为每一个窗口设定一个编号。

而我们的壁纸也可以看作是一个窗口,我们要做的就是制作一个新的“窗口”,将这个窗口放置到我们的壁纸和桌面上的图标之间,让我们新建的窗口阻挡住原先的壁纸,从而达到我们的目的。

如下图所示:

600bb40b35f642e8bb9c50d80f330358.png

2

程序的设计

明白了我们的程序原理,接下来我们就来看看程序是如何实现的吧。

1). 我们要覆盖住原先的壁纸,就需要一个和原先的壁纸分辨率一致的gif图片;

2). 而我们下载的大多数gif图片都不能达到这样的要求,因此程序首先需要将gif图像的大小进行调整,如下图所示:

c988233876434a12a81236913e945a20.png

上述的resizeGif函数中,我们首先实例化一个ImageSequence中的Iterator类,其作用是迭代产生gif中的每一帧图像。然后针对每一帧图像,利用frameIterator函数来调整其分辨率,最后我们将调整完分辨率的图像按照顺序组合成gif图像。这里默认的分辨率为(1920,1080)。

3

制作壁纸

有了gif动态图之后,接下来就是将图制作成为新的桌面壁纸,部分程序如下图所示:

ce6243f086d94c37ba9036f958be13b6.png

上述程序中,我们首先利用getScreenHandle函数获得原先桌面壁纸的句柄;

然后通过pyglet库创建一个新的窗口;

并将新创建的窗口作为原先桌面壁纸窗口的父窗口;

也就实现了覆盖原先的桌面壁纸;

最后程序通过执行pyglet.app.run来启动程序;

在电脑上显示新的窗口,让我们直观上看起来像是新的窗口,最后,小编通过运行程序来展示一下结果 。

4

视频展示

目前青铜群已经有230多人,我们采用筛选制度,会根据一些后台数据,进行筛选的!生面孔或者不常来的,我们一概谢绝入内。有专人老师进行答疑解惑入门问题。

入群请找菜鸟哥

暗号:【入群】

小助手已经恢复运营,想加入的可以戳他,如果不理你,可以多戳他几次!

点个[在看],否则就看不到我了555返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值