首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将土味情话语录设置为桌面壁纸

import os

import tempfile

import time

import cv2

import requests

import win32api

import win32con

import win32gui

from PIL import Image, ImageDraw, ImageFont

import random

def setWallPaper(pic):

key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)

win32api.RegSetValueEx(key, "WallpaperStyle", 0, win32con.REG_SZ, "2")# 2拉伸适应桌面,0桌面居中

win32api.RegSetValueEx(key, "TileWallpaper", 0, win32con.REG_SZ, "0")

win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, pic, 1 + 2)

print('成功应用桌面壁纸')

def love():

url = r'https://api.vvhan.com/api/love'

res = requests.get(url).text

content = "『{}』".format(res)

return content

def love2():

url = r'https://api.lovelive.tools/api/SweetNothings/WebSite'

res = requests.get(url).text

content = "『{}』".format(res)

return content

def hitokoto():

url = 'https://v1.hitokoto.cn/'

res = requests.get(url).json()

hitokoto = res['hitokoto'].strip('。')

from_where = res['from']

from_who = res['from_who']

content = "『{}』".format(hitokoto)

return content

def word():

global word_type

if word_type == '0':

return hitokoto()

elif word_type == '1':

return random.choice([love(), love2()])

def jpg(path):

if not os.path.exists(path):

url = 'https://cn-south-227-storage-hitokoto-19627663.oss.dogecdn.com/pic/qf3cu.jpg'

content = requests.get(url).content

with open(path, 'wb+') as f:

f.write(content)

# 语录类型

word_type = 0

# 临时目录

root_path = tempfile.gettempdir()

# 背景图片路径

bgfile = os.path.join(root_path, "bg.jpg")

# 最终的壁纸图片路径

wallfile = os.path.join(root_path, "wall.jpg")

def main():

# 下载背景图

jpg(bgfile)

# 打开背景图

img = Image.open(bgfile)

# 创建空白图

d = ImageDraw.Draw(img)

# 设置字体

font = ImageFont.truetype("simhei.ttf", 60, encoding="utf-8")

width, height = img.size

length = 99

one_word = ""

# 确保语录不超过壁纸宽度

while (length > width//60):

# 获取语录

one_word = word()

length = len(one_word)

time.sleep(1)

print(one_word)

# 语录添加到图片

d.text((width / 2 - 30 * (len(one_word)), height / 2 - 240), one_word, font=font, fill=(80, 80, 80, 128))

# 报错图片

img.save(wallfile)

# 关闭流

img.close()

# 设置壁纸

setWallPaper(wallfile)

# 删除壁纸图片

os.unlink(wallfile)

# 删除背景图片

# os.unlink(bgfile)

if __name__ == '__main__':

word_type = input('>> 类型(0:一言; 1:情话):').strip()

while True:

main()

time.sleep(5)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200924A08FAG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券