该桌面背景有4个特点:

  1. 背景为一张从必应下载的壁纸
  2. 英文为随机的名人名言,从API获取
  3. 用百度翻译接口翻译英文名人名言
  4. 将桌面壁纸更换

效果:

源代码:

import requests
import json
import random
import hashlib
import urllib
import os
import time
from PIL import Image, ImageDraw, ImageFont
import ctypes#百度翻译接口参数
appid = ''  # 填写你的appid
secretKey = ''  # 填写你的密钥#创建壁纸图片文件夹
os.makedirs('./image/', exist_ok=True)
#bing壁纸接口
url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=10&mkt=zh-cn''''
翻译成中文
'''
def baidutrans(q):myurl = '/api/trans/vip/translate'fromLang = 'auto'  # 原文语种toLang = 'zh'  # 译文语种salt = random.randint(32768, 65536)sign = appid + q + str(salt) + secretKeysign = hashlib.md5(sign.encode()).hexdigest()myurl ='https://api.fanyi.baidu.com'+ myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + signresponse = requests.get(myurl)jsonstrs = response.json()return  jsonstrs"""
获取名人名言
"""
def favqs():url='https://favqs.com/api/qotd'response = requests.get(url)jsonstrs = response.json()# print(jsonstrs)return  jsonstrs"""
更换背景图
"""
# def setWallPaper(pic):
#   # open register
#   regKey = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
#   win32api.RegSetValueEx(regKey,"WallpaperStyle", 0, win32con.REG_SZ, "2")
#   win32api.RegSetValueEx(regKey, "TileWallpaper", 0, win32con.REG_SZ, "0")
#   # refresh screen
#   win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,pic, win32con.SPIF_SENDWININICHANGE)if __name__ == "__main__":response = requests.get(url)# print(response.text)# jsonstrs = json.loads(response.text)  # json解析响应文本jsonstrs = response.json()# 或者jsonstr = response.json()imgnum = 0#exit()for key in jsonstrs['images']:# print(key['url'], end='\n')# r = requests.get('https://www.bing.com'+key['url'])url = 'https://www.bing.com'+key['url']# print(requests.get(url, stream=True).raw.read())image = Image.open(requests.get(url, stream=True).raw).convert('RGBA')mrmyjson = favqs()author = mrmyjson['quote']['author']body = mrmyjson['quote']['body']body=body+'    ----'+author# 设置字体样式font_type = r'C:\Windows\Fonts\tahoma.ttf'font_type2='STXINGKA.TTF'font = ImageFont.truetype(font_type, 30)font2 = ImageFont.truetype(font_type2, 31)color = "#fff"color2 = "#FFFF00"draw = ImageDraw.Draw(image)width, height = image.sizefw, fh = font.getsize(body)bodyarr=body.split(' ')fontfw=0book_x = width / 2-height/2if(book_x<=0):book_x=width/4book_y =height- height / 4# 处理 英文单词换行for num, book in enumerate(bodyarr):book=book+' 'fw2, fh2 = font.getsize(book)#print(u'%s:%s' % (book,fw2))if(fontfw>(width-width/4-50)):fontfw=0book_y=book_y+30draw.text((book_x + 1 + fontfw, book_y + 1), ' ' + book, 'black', font)draw.text((book_x + fontfw, book_y),' '+book, color, font)fontfw = fontfw + fw2zhbody= baidutrans(body)for keybody in zhbody['trans_result']:#print(keybody['dst'])summary=keybody['dst']summary_x = book_xsummary_y = book_y+50summary_line = 35# 45个字一行  后续可以完善summary_list = [summary[i:i + 45] for i in range(0, len(summary), 45)]for num, summary in enumerate(summary_list):y = summary_y + num * summary_line#阴影draw.text((summary_x + 1 + 10, y + 1), u'%s' % summary, 'black', font2)#文字draw.text((summary_x+10, y), u'%s' % summary, color, font2)imgpath='./image/img%s.png' % imgnumimage.save(imgpath)imgnum=imgnum+1pic =os.path.join(os.path.abspath('.'),r'image\img0.png')  # 写绝对路径# setWallPaper(pic)ctypes.windll.user32.SystemParametersInfoW(20, 0, pic, 0)# 只处理一张壁纸break# 可保持所有壁纸# with open('./image/img%s.png' % num, 'wb') as f:#    f.write(r.content)#    num = num+1

python生成漂亮桌面背景心灵鸡汤可每日学英语相关推荐

  1. .NET生成漂亮桌面背景

    前言 一天,我朋友指着某某付费软件对我说,这个东西不错,每天生成一张桌面背景,还能学英语(放置名人名言和翻译)!我说,这东西搞不好我也能做,然后朋友说,"如果你搞出来了,我愿意给你付费$$$ ...

  2. python程序创建词云 中国地图_就这么简单!使用Python生成漂亮的词云

    原标题:就这么简单!使用Python生成漂亮的词云 作者:Linux迷 链接:https://www.linuxmi.com 词云是一种数据可视化技术,用于表示文本数据,其中每个单词的大小表示其出现的 ...

  3. 独家 | 手把手教你怎样用Python生成漂亮且精辟的图像(附教程代码)

    作者:Fabian Bosler 翻译:车前子 校对:吴振东 本文约4800字,建议阅读15分钟. 本文将介绍如何利用Python生成图像并将结果做出可视化分析. 在上周的文章<用python从 ...

  4. 利用Python生成漂亮的词云,云的形状由你定

    前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里 ...

  5. Python生成漂亮的词云,云的形状由你定

    前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...

  6. Fedora15上实现桌面背景图片渐变

    2019独角兽企业重金招聘Python工程师标准>>> 桌面背景图片渐变,在Ubuntu中很容易实现.Ubuntu默认就自带了几款渐变壁纸.但换到Fedora后,貌似没发现有自带的渐 ...

  7. Python生成透明背景图片

    转载请注明出处:http://blog.csdn.net/jinixin/article/details/79115782 关于画图,Python不乏许多优秀的第三方库能支持操作图片,比如Matplo ...

  8. python节日快乐_【python】一键生成漂亮的节日快乐词云图

    一键生成漂亮的节日快乐词云图,给女神一个特别的礼物~ # Python 实用宝典 # 2020/03/23 先看效果图: 代码传送门: import numpy import multidict im ...

  9. 第10章第21节:使用Ribbons 2生成漂亮的随机线条背景 [PowerPoint精美幻灯片实战教程]

    我们在设计幻灯片时,少不了使用漂亮的背景图片,本节演示如何借助在线工具,生成漂亮的随机线条背景.首先打开在线工具网站. 此时屏幕上会显示跳转的随机线条,当需要保存屏幕上的线条时,可以在屏幕上点击鼠标右 ...

最新文章

  1. 当前被频频提及的企业数字化转型是什么?
  2. nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
  3. 2019牛客暑期多校训练营(第三场)J - LRU management (模拟+list+unorder_map)
  4. GDB 调试 .NET 程序实录 - .NET 调用 .so 出现问题怎么解决
  5. 运动基元_Java更快地对基元数组进行排序?
  6. 【总结】C语言实用算法系列之知识点梳理_附学生管理系统各模块代码
  7. MySQL索引背后的数据结构及算法原理(转)
  8. 作为一个程序员,CPU的这些硬核知识你必须会!
  9. 企业最喜欢招聘什么样的Java程序员?谈谈我的看法
  10. Galaxy S5维修难 仅拆屏幕就需一小时
  11. 苹果针对FaceTime内的4个iOS漏洞提出更新
  12. 解决 Chrome 下载不了东西 失败 - 已屏蔽 的问题
  13. Hash函数加密算法(一)
  14. 高校科研信息管理系统
  15. 无盘服务器秒卡 锐起0359,锐起无盘系统问题汇集
  16. Stale branches 设置_交通规划软件之TransCAD如何设置立交模型的步骤
  17. TMS320F28335 和 VS1003B 之间的通信
  18. 计算机学院学生王鹏,王鹏-计算机与控制工程学院
  19. 非参数统计中的核平滑方法/Kernel smoother
  20. winscp 进入mysql命令_Winscp使用密钥登录

热门文章

  1. 第1章 多媒体技术概要
  2. 如何测量无人机电机和螺旋桨的效率?
  3. Grafana(10445) +Pormetheus + Nginx 监控 Http API 2xx 3xx 4xx
  4. 移动联通电信老用户换套餐方法
  5. 如臂使指 :JS 中的 Module 语法
  6. 如何创建一个Java项目
  7. C#通过Windows API捕获窗,获取窗口文本(FindWindow、GetWindowText),附录:Windows窗口消息大全、Windows API大全
  8. Mac中pycharm安装低版本tensorflow1.8的方法
  9. 全国计算机比赛ccf比赛时间,2019年全国青少年信息学奥林匹克相关通知
  10. 应用程序正常初始化(0xc0000135)失败解决方法;附:该内存不能为“read”和“written”