1、首先上结果:

其实就是一段简单的代码。加上英语单词表加上几张背景图生成许多类似的图片再设置成桌面背景,十分钟一换。有心的人闲的时候随手就能换换桌面背背单词。最不济也能混个脸熟。

3、上代码

#-*- coding:utf8 -*-
from PIL import Image,ImageFont,ImageDraw  #引用相关库
import sys
import os
import random

newfont1=ImageFont.truetype('simsun.ttc',120) #设置字体,及字体大小
newfont2=ImageFont.truetype('cambria.ttc',50) #设置字体,及字体大小
newfont3=ImageFont.truetype('simsun.ttc',50) #设置字体,及字体大小

filename1='E:\ch.txt'#定义字典位置

'''
字典内容示意:
abandon/ ə’bændən/ vt.丢弃;放弃,抛弃
aboard/ ə’bɔ:d/ ad.在船(车)上;上船
absolute/ ‘æbsəlu:t/ a.绝对的;纯粹的
absolutely/ ‘æbsəlu:tli/ ad.完全地;绝对地
absorb/ əb’sɔ:b/ vt.吸收;使专心
abstract/ ’æbstrækt/ n.摘要
abundant/ ə’bΛndənt/ a.丰富的;大量的
abuse/ ə’bju:z, ə’bju:s/ vt.滥用;虐待 n.滥用
academic/ ækə’demik/ a.学院的;学术的
accelerate/ æk’seləreit/ vt.(使)加快;促进
access/ ‘ækses/ n.接近;通道,入口
'''

fo=open(filename1,'r', encoding='UTF-8')
for line in fo.readlines():
	bgfile='E:\\bg\\'+str(random.randint(1,11))+'.jpg'#背景图只有11张所以随机生成相应的地址。注意windows上\要用两个否则变成转义字符
	line=line.replace('\n','')#处理掉相关无用符号
	t1=line.split('/ ')[0]#单词
	t2=line.split('/ ')[1]#音标
	t3=line.split('/ ')[2]#解释
	im = Image.open(bgfile) # 读取图片
	draw=ImageDraw.Draw(im)
	sz1=draw.textsize(t1,font=newfont1)#获得t1相关格式的大小的list即宽高便于后期设置文字居中
	sz2=draw.textsize(t2,font=newfont2)
	sz3=draw.textsize(t3,font=newfont3)

	draw.text((int(1980/2-sz1[0]/2),416),t1,(255,255,255),font=newfont1)#设置字体出现的位置X动态居中,Y固定 字体颜色RBG,
	draw.text((int(1980/2-sz2[0]/2),540),t2,(255,255,255),font=newfont2)#我的电脑是1920*1080分辨率所以我用的背景图都是1920*1080然后可以写死
	draw.text((int(1980/2-sz3[0]/2),604),t3,(255,255,255),font=newfont3)
	im.save('E:\\dc\\'+t1+'.jpg') #保存图片
	print('E:\\dc\\'+t1+'.jpg')#显示处理到哪里

fo.close()

3、结束。觉得有用可以留个评论。

附:已生成的4级英语单词壁纸3400多张

https://pan.baidu.com/s/1dDgw6shJasT35OSA8Aj4yg

python生成单词壁纸的更多相关文章

  1. 使用python生成词云

    什么是词云呢? 词云就是一些关键词组成的一个图片.大家在网上经常看到,下面看一些例子: 那用python生成一个词云的话怎么办呢,首先要有一些词,咱们随便找个吧,用see you again的歌词好了 ...

  2. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

  3. 【python】【转】Python生成随机数的方法

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

  4. Python生成随机数的方法

    这篇文章主要介绍了Python生成随机数的方法,有需要的朋友可以参考一下 如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与 ...

  5. Python 生成的页面中文乱码问题

    第一 保证 程序源文件里的中文的编码格式,如我们把 源文件的编码设置成utf8的. reload(sys) sys.setdefaultencoding('utf-8') 第二, 告诉浏览器,我们须要 ...

  6. 如何使用python生成xml

    最近要用python生成一个xml格式的文件.因为有一些内容是中文,原来的xml文件中使用了CDATA 的部分. 而之前的python程序所用的库中没有 创建这个区域的方法.无奈研究了大半天. 最后用 ...

  7. python生成随机图形验证码

    使用python生成随机图片验证码,需要使用pillow模块 1.安装pillow模块 pip install pillow 2.pillow模块的基本使用 1.创建图片 from PIL impor ...

  8. Python 生成随机验证码

    Python生成随机验证码  Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 fro ...

  9. Python生成随机验证码

    Python生成随机验证码,需要使用PIL模块. 安装: pip3 install pillow 基本使用 1.创建图片 from PIL import Image img = Image.new(m ...

随机推荐

  1. C++ RCSP智能指针简单实现与应用

    智能指针的实现代码来源博客:<http://blog.csdn.net/to_be_better/article/details/53570910> 修改:添加 get()函数,用以获得原 ...

  2. Docker下redis的主从、持久化配置

    Docker下redis的主从.持久化配置 redis是k-v型nosql数据库,支持字符串(string).列表(list).集合(set).散列(hash).有序集合(zset:形如member: ...

  3. Django 2.0 学习(03):Django视图和URL(下)

    接上篇博文,继续分析Django基本流程. 编写第一个(view)视图函数 1.打开文件polls/views.py,输入下面的Python代码: from django.http import Ht ...

  4. 特定场景下Ajax技术的使用

    ajax介绍 jax技术包含了几种技术:javascript.xml.css.xstl.dom.xhtml和XMLHttpRequest七种技术,所以ajax就像是粘合剂把七种技术整合到一起,从而发挥 ...

  5. 直播-srs起步

    srs简介 https://github.com/ossrs/srs/wiki/v2_CN_Home     原料 CentOS Linux release 7.2.1511 (Core) ffmpe ...

  6. AJAX跨域问题解决思路

    ajax跨域问题的解决思路主要分为3种: 1.浏览器限制解决思路:不让浏览器做出限制解决方法:通过指定参数,让浏览器不做跨域校验评价:价值不大,需要每个人都做改动,而且改动是客户端的改动 2.XHR请 ...

  7. MySQL的bigint类型

    bigint支持的数字的大小范围为:19位,存电话号码.有符号范围:-9223372036854775808 到 9223372036854775807 int支持的数字范围为:10位,有符号范围:- ...

  8. ERROR : PHP中错误基础

    1.错误 在进行PHP代码编辑的时候,容易碰到error错误提示,PHP中错误有两种:语法错误.逻辑错误. 2.错误报告类型 Notice : 通知 比如直接使用未定义的变量,这种错误不影响PHP脚本 ...

  9. freemarker的classic_compatible设置,解决报空错误

    前段时间接触freemaker时,本来后端写各接口运行正常,但加入了模板后,频繁报空指针问题,整了许久,最后还是请教了别人解决了这个问题,现在记录下来,方便以后碰到了可以查阅. 错误样例如下: ERR ...

  10. Jquery入门(初学者易懂)

    一.定义 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"w ...