先上个效果,桌面只有个回收站,找了个FY-4的图片扣了下图,做成了ico图标,然后把回收站名字给搞了。卫星配自己拍的图,有点意思。
FY-4每小时图像来源如下,只要每隔一个小时拉它就行了→http://img.nsmc.org.cn/CLOUDIMAGE/FY4A/MTCC/FY4A_DISK.JPG
东抄西抄,自己改改,代码如下
import requests
import os
import win32api, win32con, win32gui
from PIL import Image
import numpy as np
import time
# 爬取风云四数据
def _get_fy_img():
url = 'http://img.nsmc.org.cn/CLOUDIMAGE/FY4A/MTCC/FY4A_DISK.JPG'
res = requests.get(url)
# 保存壁纸
with open('background.jpg', 'wb') as f:
f.write(res.content)
# 设置为壁纸
def set_background(imgpath):
keyex = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(keyex, "WallpaperStyle", 0, win32con.REG_SZ, "0")
win32api.RegSetValueEx(keyex, "TileWallpaper", 0, win32con.REG_SZ, "0")
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, imgpath, win32con.SPIF_SENDWININICHANGE)
# 图像获取和处理
def get_and_deal_img():
bk_path = 'background.jpg'
# 读图像(图像形状:2198,2198,3)
bk_img = np.array(Image.open(bk_path))
# 删除图像
os.remove(bk_path)
## 处理水印
# 左上水印
bk_img[0:174, 0:447, :] = 0
# 右下水印
bk_img[1970:2198, 1970:2198, :] = 0
# 扩展壁纸到电脑显示器大小
bk_img = Image.fromarray(np.uint8(bk_img))
# 缩放到720*720,铺满电脑或者露个半截有啥好看的
bk_img = bk_img.resize((720, 720), Image.ANTIALIAS)
# 电脑屏幕大小那么大的0图片
bks_img = np.zeros((1080, 1920, 3))
# 中间换了
bks_img[180:900, 600:1320, :] = bk_img
# 重新保存图像
Image.fromarray(np.uint8(bks_img)).save(bk_path)
# 加载桌面
path = os.getcwd()
set_background(os.path.join(path, bk_path))
if __name__ == '__main__':
get_and_deal_img()
完事儿弄个啥windows的计划任务,一个小时来一发就行了。
-
win+R,输入taskschd.msc,创建任务
-
设置好名字介绍啥的
-
设置触发器,1个小时触发1次,循环
-
设置运行的脚本,脚本里面就写上这个就行,第一个E:表示py文件在e盘,第二个cd到py文件的路径下,然后用pythonw运行这个.pyw文件(我的文件名叫FY-4.pyw)。
注:将.py改成.pyw,使用pythonw运行可以不出现黑框界面
@echo off
E:
cd E:\MyData\script
pythonw FY-4.pyw
- 程序和脚本是bat脚本的全路径
- 起始于是bat脚本的路径,不包括XX.bat
ok