前言
🚀 作者 :“程序员梨子”
🚀 **文章简介 **:本篇文章主要讲解本次利用Pillow库,实现化新年生成新年倒计时图片。
🚀 **文章源码获取 **:为了感谢每一个关注我的小可爱💓每篇文章的项目源码都是无偿分
享滴💓👇👇👇
点这里蓝色这行字体自取,需要什么源码记得说标题名字哈!私信我也可!
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬
正文
哈喽我的老北鼻们,新年来临前的这一个月,想必你一定也在赶方案、写总结、应甲方;熬夜加
班、内卷同事、步履不停吧?!哒咩,时间过的很快,每天都在忙碌中奔跑,是不是感觉临近春节
时间过的越快呢。请记住不要因为太累而忘记新年的这一天哦~
今天小编带大家一起写一款新年的倒计时贺卡,希望大家喜欢啦!
一、运行环境
境安装准备好Python版本基本上都可以、小编用的Python3.7、Pycharm的
第三方库环境:requests、lxml、threadpool、selenium。
安装模块也就是第三方模块的小编经常用的方法是:pip install +模块名或者提速需要用到镜
像源,百度下或者csdn搜下就会出来很多安装模块的镜像源这里就不一一介绍了!
二、原理简介
本次利用Pillow库,实现自动化生成倒计时图片。
小科普——
计算机程序通常将图像中的颜色表示为RGBA值。
RGBA值是一组数字,指定颜色中的红、绿、蓝和alpha(透明度)的值。
这些值是从0(根本没有)到255(最高)的整数。
这些RGBA值分配给单个像素,像素是计算机屏幕上能显示一种颜色的最小点。
像素的RGB设置准确地告诉你应该显示哪种颜色的色彩。
在Pillow中,RGBA值表示为四个整数值的元组。
比如红色表示为(255, 0, 0, 255),其中alpha值最大,意味着完全不透明。
图像像素用x和y坐标指定,分别指定像素在图像中的水平和垂直位置。
原点是位于图像左上角的像素,为(0, 0)
三、效果展示如下👇
👇省略。。。。。。
不知不觉,就快要过年了。
不知道大家回家的车票买到了没有,希望大家都能买到——下一期要不出一个抢票的小脚本叭~
代码展示👇
from PIL import Image, ImageDraw, ImageFontimport osfor i in range(1, 22):# 创建图像,设置图像大小及颜色im = Image.new('RGBA', (1000, 1800), (166, 12, 4, 255))draw = ImageDraw.Draw(im)# 设置本次使用的字体fontsFolder = 'C:\Windows\Fonts'font1 = ImageFont.truetype(os.path.join(fontsFolder, '华康俪金黑W8.TTF'), 420)font2 = ImageFont.truetype(os.path.join(fontsFolder, '方正兰亭刊黑.TTF'), 40)# 计算各文本的放置位置txtSize_1 = draw.textsize('距 离 除 夕 夜', font2)pos_x_1 = (1000 - txtSize_1[0]) / 2txtSize_2 = draw.textsize('还 有', font2)pos_x_2 = (1000 - txtSize_2[0]) / 2txtSize_3 = draw.textsize('天', font2)pos_x_3 = (1000 - txtSize_3[0]) / 2txtSize_4 = draw.textsize('不 是 年 味 越 来 越 少', font2)pos_x_4 = (1000 - txtSize_4[0]) / 2txtSize_5 = draw.textsize('而 是 我 们 都 长 大 了', font2)pos_x_5 = (1000 - txtSize_5[0]) / 2# 设置文本放置位置,居中draw.text((pos_x_1, 200), '距 离 除 夕 夜', fill=(217, 217, 217, 255), font=font2)draw.text((pos_x_2, 300), '还 有', fill=(217, 217, 217, 255), font=font2)draw.text((pos_x_3, 1050), '天', fill=(217, 217, 217, 255), font=font2)draw.text((pos_x_4, 1350), '不 是 年 味 越 来 越 少', fill=(137, 183, 109, 255), font=font2)draw.text((pos_x_5, 1440), '而 是 我 们 都 长 大 了', fill=(137, 183, 109, 255), font=font2)# 绘制线框draw.line([(20, 20), (980, 20), (980, 1780), (20, 1780), (20, 20)], fill=(217, 217, 217, 255), width=5)# 设置变化的文本属性txtSize_6 = draw.textsize(str(i), font1)pos_x_6 = (1000 - txtSize_6[0]) / 2draw.text((pos_x_6, 500), str(i), fill=(137, 183, 109, 255), font=font1)# im.show()# 保存图像filename = 'day' + str(i) + '.png'im.save(filename)
总结
关注小编获取更多精彩内容!记得点击传送门哈👇
制作不易,记得一键三连哦!!如需打包好的源码+素材免费分享滴!!传送门