python 动态壁纸
文章参考,代码引用
ref1: 流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸_cainiao_python的博客-CSDN博客 https://blog.csdn.net/cainiao_python/article/details/106561410?ivk_sa=1024320u
ref2: (5 条消息) Python怎样实现Wallpaper Engine? - 知乎 https://www.zhihu.com/question/381460573
原文章,作者 构思精巧,实现也诱人, 遂逐之
代码
import pyglet
from PIL import ImageSequence,Image
import win32gui, win32ui, win32conclass AnimationSrn:def __init__(self):parenthwnd = self.getScreenHandle()print(parenthwnd )left, top, right, bottom = win32gui.GetWindowRect(parenthwnd)self.size = (right - left, bottom -top)self.gifpath = self.resizeGif()def frameIterator(self, frames):for frame in frames:framecopy = frame.copy()# print (type (framecopy))framecopy = framecopy.resize(self.size, Image.ANTIALIAS)yield framecopy# 返回一^迭代器,迭代gi仲的每一帧图像def resizeGif(self, originpath="gif2.gif"):img = Image.open(originpath)#获取gif的每帧图像的顺序迭代器# Get sequence iteratorframes = ImageSequence.Iterator(img)#print(dir(self))frames = self.frameIterator(frames) #对每一帧图像调整其分辨率print(type(frames))outimg = next(frames) # Handle first frame separatelyoutimg.info = img.info # H制顺序信息savepath = originpath.replace('.','_resize.')outimg.save(savepath, save_all=True, append_images=list(frames))return savepathdef getScreenHandle(self):hwnd = win32gui.FindWindow("Progman", "Program Manager")win32gui.SendMessageTimeout(hwnd, 0x052C, 0, None, 0, 0x03E8)hwnd_WorkW = Nonewhile 1:hwnd_WorkW = win32gui.FindWindowEx(None, hwnd_WorkW, "WorkerW", None)if not hwnd_WorkW:continuehView = win32gui.FindWindowEx(hwnd_WorkW, None, "SHELLDLL_DefView", None)if not hView:continueh = win32gui.FindWindowEx(None, hwnd_WorkW, "WorkerW", None)while h:win32gui.SendMessage(h, 0x0010, 0, 0); # WM_CLOSEh = win32gui.FindWindowEx(None, hwnd_WorkW, "WorkerW", None)breakreturn hwnd'''return win32gui.GetDesktopWindow()'''def putGifScreen(self):parenthwnd = self.getScreenHandle()#使用pyglet加载动画# print ("1ll", parenthwnd)animation = pyglet.image.load_animation(self.gifpath) #使用pyglet 加载一个gif 动图sprite = pyglet.sprite.Sprite(animation) # 创建一个动画#创建一个新的窗口#创建-个窗口, 并将其设置为图像大小newwin = pyglet.window.Window(width=sprite.width,height=sprite.height,style=pyglet.window.Window.WINDOW_STYLE_BORDERLESS)#将默认的背景图的父窗口改为新创建的窗口# print(win._hwnd)win32gui.SetParent(newwin._hwnd, parenthwnd)@newwin.event #事件处理程序的函数装饰器.用來显示图像def on_draw(): newwin.clear()sprite.draw() pyglet.app.run() if __name__ == '__main__':AnimationSrn().putGifScreen()
python 动态壁纸相关推荐
- python实现动态壁纸_流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸
原标题:流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸 公众号关注 " 菜鸟学Python" 设为 "星标",每天带你玩转Python! (女神IU,图片 ...
- Python 实现macOS Catalina 动态壁纸定时设置
前言 很不幸,我的电脑只能装 macOS High Sierra ,但是看他们的 Catalina 和 Mojave 的壁纸好炫酷,据说还可以根据日出时间切换壁纸和暗黑模式?!尽管条件限制,我还是想体 ...
- python写一个地球同步卫星图动态壁纸(第三部分)
-------------------------------- 前序: 系统:Windows 10 IDE:PyCharm Python:3.7.4 python写一个地球同步卫星图动态壁纸(第一部 ...
- python写一个地球同步卫星图动态壁纸(第二部分)
-------------------------------- 前序: 系统:Windows 10 IDE:PyCharm Python:3.7.4 python写一个地球同步卫星图动态壁纸(第一部 ...
- 用python写一个动态壁纸工具
screenpv.py: use pyqt5 + opencv to open a video or camera 首先用pyqt5+opencv写一个全屏播放视频的工具 import sys imp ...
- python实现动态壁纸_python学习笔记 | macOS Big Sur动态壁纸食用指南
目录 前言 北京时间23日凌晨1点,苹果WWDC2020大会开幕.在发布会上,苹果正式发布了新版macOS,并将其命名为"Big Sur". 相比于外界争议最大的UI界面,令我更为 ...
- 龙芯平台python答案_在龙芯平台上自己编写原创应用——“动态壁纸”
原标题:在龙芯平台上自己编写原创应用--"动态壁纸" 一.为何要在龙芯平台上编写"动态壁纸"? 龙芯3A3000桌面电脑的用户越来越多了,人们都想在龙芯电脑上有 ...
- python 爬动态壁纸
这里爬的是网站对外的一个推广接口,里面的图片均可以访问到 import requests as req from bs4 import BeautifulSoup import re import o ...
- Python爬虫【批量】抓取某动态壁纸网站的视频
1.使用说明: 1.爬取的网站:某动态壁纸网站(网址见文章底部) 2.爬取的内容:视频 3.使用方法:新建spider.py文件,将下面代码拷贝到spider.py里,用pycharm打开spider ...
最新文章
- ubuntu 默认鼠标双击问题
- 《Android深度探索(卷1):HAL与驱动开发》——1.6节 Linux设备驱动
- jQuery-1.9.1源码分析系列(六) 延时对象应用——jQuery.ready
- 微型计算机不属于串行接口,在微型计算机中,不属于串行接口的是
- SAP 电商云 Spartacus UI 客户端模式下产品主数据的 HTTP 请求设计
- bzoj3589 动态树 求链并 容斥
- (十六)java中的String
- Day 6 函数与模块
- OpenCV滤波器 龙门石窟篇【Python-Open_CV系列(九)】(均值滤波器、中值滤波器、高斯滤波器、双边滤波器)
- 中学生怎样学计算机编程6,中学生学电脑编程有什么好处
- android开发中常用的Eclipse快捷键详细整理
- win7 局域网访问网站
- 模仿人类逻辑,首个BERT模型AI通过初二科学考试!研究人员:完成了老板遗愿...
- 大三上学期实训——基于SpringBoot的电影后台管理系统
- 做个全栈工程师真的好吗?
- 【历史上的今天】2 月 18 日:电池的发明者出生;全美最大的电脑连锁店开业;Netsky 蠕虫问世
- 如何关闭计算机的f12功能键,win10如何关闭快捷键?win10关闭F1~F12快捷键的方法
- 实训五:交换机配置文件备份
- VMWare 14虚拟机下载和安装说明兼容WIN10
- 苹果6s强制删除id锁_苹果手机忘了解锁密码不要慌,你可以这样做!