导语
大家好,我是栗子同学,很久没更文啦~
从今天开始小编准备重出江湖,多多给大家准备更好更多的文章供大家阅读学习!高产量加油
新年是过了,但是正月还没过呢~要不要换一个喜气洋洋、洋洋洒洒、洒扫应对、对牛弹琴的手机
壁纸呢?今天栗子给大家表演的节目是:用Python生成自己独一无二的手机壁纸。
请大家不要眨眼😉,接着往下看👇
正文
一、实现步骤
1)首先我们需要选择一个现成的手机壁纸作为模板,我选择了这种以自己姓氏为主题的专属手机壁纸。
2)这其实是个随便百度的手机壁纸,先利用ps将图片中的其他文字去除。
当当当当 ——完美的背景图如下👇
3)尝试给图片添加文字,这里用到的是 PIL(Python Image Library),它是python的第三方图像处理库。
Image类是PIL中的核心类,有很多种方式来对它进行初始化,比如从文件中加载一张图像,处理
其他形式的图像,或者是从头创造一张图像等。
下面是本文涉及的一些PIL Image类中常用的方法:
save(filename,format) (保存指定格式的图像)
open(filename,mode) (打开一张图像)。
paste(region,box,mask) (将一个图像粘贴到另一个图像
4)先拿最简单的字体(黑体)尝试吧。代码实现如下:
from PIL import Image,ImageDraw,ImageFont
a = '小王小王'
font = ImageFont.truetype('simhei.ttf', 100) # 定义文本,黑体
img = Image.open('底图.png')
draw = ImageDraw.Draw(img) # 新建画布绘画对象
draw.text((200,700),a,(0,0,0),font=font)
#在新建的对象上坐标(200,700)处开始画出黑色文本
img.show()
img.save('壁纸.png')
效果如下👇
是直接ps上去的 嘻嘻 又个大的背景貌似也不错 我是搞笑来的~
5)将文字写在一个透明的图片上,然后旋转这个图片后,将图片覆盖到有底色的底图上。
不知道大家看懂了吗,直接尝试一下吧。
其中img1是透明底的图片,img2是有底色的底图
from PIL import Image,ImageDraw,ImageFont
a = '小王小王'# 定义文本
b = '可爱大王'
font = ImageFont.truetype('hylx.ttf', 180)
img1 = Image.open('透明.png')
img1=img1.convert('RGBA')
draw = ImageDraw.Draw(img1) # 新建画布绘画对象
draw.text((250,550), a,(255,243,211),font=font)
draw.text((350,800), b,(255,243,211),font=font)
img1=img1.rotate(15) #旋转代码
img2 = Image.open('底图.png')
img2=img2.convert('RGBA')
img2.paste(img1,(0,0),img1) # 将img1粘贴到img2上
img2.show()
img2.save('壁纸.png')
效果如下👇
对对对,就是这种效果。在手机上简单测试一下效果吧!
手机效果👇
总结
看起来很喜庆嘛!
大家喜欢的话也可以尝试一下,更换字体和模板底图,总有一款适合自己~
完整的素材等:滴滴我吖!或者点击文末自取免费拿的哈~
还有更多更多源码等你来领区啦!
文章汇总——
汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)