用Python生成自己专属的手机春节壁纸

Aidan075
• 阅读 1188

↑ 关注 + 置顶 ~ 有趣的不像个技术号

用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸

大家好,我是朱小五

马上就要过年了,要不要换一个喜气洋洋、洋洋洒洒、洒扫应对、对牛弹琴的手机壁纸呢?

今天小五给大家表演的节目是:用Python生成自己独一无二的手机壁纸。

首先我们需要选择一个现成的手机壁纸作为模板,我选择了这种以自己姓氏为主题的专属手机壁纸。

用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸)用Python生成自己专属的手机春节壁纸

<< 左右滑动查看更多 >>

这其实是个之前迎接跨年的手机壁纸,先利用ps将图片中的2020和其他文字去除。

用Python生成自己专属的手机春节壁纸

尝试给图片添加文字,这里用到的是 PIL(Python Image Library),它是python的第三方图像处理库。

Image类是PIL中的核心类,有很多种方式来对它进行初始化,比如从文件中加载一张图像,处理其他形式的图像,或者是从头创造一张图像等。

下面是本文涉及的一些PIL Image类中常用的方法:

  • save(filename,format) (保存指定格式的图像)

  • open(filename,mode) (打开一张图像)。

  • paste(region,box,mask) (将一个图像粘贴到另一个图像)

先拿最简单的字体(黑体)尝试吧。

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')

运行:

用Python生成自己专属的手机春节壁纸

可以可以,第一步是这个意思,不过就是有点丑。

下面开始尝试将文字倾斜。

结果没有找到比较好的方法,搜索得到的结论是文字倾斜,不如将图片倾斜。

于是我打算利用rotate旋转代码来旋转图片,以达到倾斜的效果。

from PIL import Image,ImageDraw,ImageFont  

a = '小王小王'   
font = ImageFont.truetype('simhei.ttf', 100) # 定义文本  
img = Image.open('底图.png')  
img=img.rotate(-15)  #旋转代码  
draw = ImageDraw.Draw(img) # 新建画布绘画对象  

draw.text((200,700),a,(0,0,0),font=font)  
#在新建的对象上坐标(200,700)处开始画出黑色文本  
img.show()  
img.save('壁纸.png')

运行:

用Python生成自己专属的手机春节壁纸

额,是倾斜了

不过不是这个效果

是那种很漂亮的,倾斜字体

冥思苦想,

想到将文字写在一个透明的图片上,然后旋转这个图片后,将图片覆盖到有底色的底图上。

不知道大家看懂了吗,直接尝试一下吧。

其中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生成自己专属的手机春节壁纸

对对对,就是这种半人半鱼的效果。

在手机上简单测试一下效果吧

用Python生成自己专属的手机春节壁纸

看起来很喜庆嘛!

大家喜欢的话也可以尝试一下,更换字体和模板底图,总有一款适合自己~

获取代码和文件,关注「凹凸数据」后台回复“壁纸”~

本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/gWpDsbVL1WL4obT2G_K5PA,可扫描二维码进行关注: 用Python生成自己专属的手机春节壁纸 如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Aidan075 Aidan075
3年前
爬取五大平台621款手机,告诉你双十一在哪买最便宜!
↑关注置顶有趣的不像个技术号今晚0点,相约剁手大家好,我是朱小五明天就是双十一了,看了看自己手里的卡的像IE浏览器的手机,感觉可能等不到5G普及了。我!要!换!手!机!去哪买呢?作为一个机(pin)智(qiong)boy,肯定要比价啊,哪家便宜去哪家我用Python爬取了某比价网站的手机数据,获取了其中五大平台(天猫,京东,
Aidan075 Aidan075
3年前
爬取五大平台621款手机,告诉你双十一在哪买最便宜!
↑关注置顶有趣的不像个技术号今晚0点,相约剁手大家好,我是朱小五明天就是双十一了,看了看自己手里的卡的像IE浏览器的手机,感觉可能等不
阮小五 阮小五
1年前
高清动态Mac壁纸资源站分享
好多朋友都会给自己的电脑桌面更换自己喜欢的壁纸,有些人更是壁纸收集者,看到好看的就想收藏起来。今天小编就给大家分享一个拥有超多!这个网站的壁纸种类挺全,比如风景类、城市类、游戏类、动漫类、主题类、星系类等。界面干净,无广告,看起来舒适又大气。如果你不确定这
布袋罗汉 布袋罗汉
1年前
好看的动态壁纸Dynamic Wallpaper
DynamicWallpaper是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。DynamicWallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些动态壁纸可以根据时间等因素进行
Stella981 Stella981
3年前
Python(phone)模块获取手机号归属地、区号、运营商等
Python(phone)模块获取手机号归属地、区号、运营商等一、我使用的是python3,可以自行搜索下载二、安装phone模块, pipinstallphone 三、测试代码如下:fromphoneimportPhoneif__name__"__main__":phoneN
流浪剑客 流浪剑客
1年前
Macos桌面视频动态壁纸推荐:Dynamic Wallpaper v16.2中文版
是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。DynamicWallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些动态壁纸可以根据时间等因素进行自动切换,也可以手动进行切换。除
绣鸾 绣鸾
1年前
Dynamic Wallpaper for Mac视频动态壁纸
是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。DynamicWallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些动态壁纸可以根据时间等因素进行自动切换,也可以手动进行切换。除
公孙晃 公孙晃
1年前
「Macos高清视频动态壁纸」Dynamic Wallpaper 16.6中文版
是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。DynamicWallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些动态壁纸可以根据时间等因素进行自动切换,也可以手动进行切换。除
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这