python爬取FY-4作為桌面背景

歐陽罷筆發表於2020-11-12

先上個效果,桌面只有個回收站,找了個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的計劃任務,一個小時來一發就行了。

相關文章