欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:法纳斯特,Python爱好者,专注爬虫,数据分析及可视化
微信公众号:法纳斯特(ID: walker398)

本次内容有感于《Python编程快速上手-让繁琐工作自动化》。
根据书中的「操作图像」章节内容,实现一个简单又实用的小操作。
使用的模块为Pillow,一个处理图像文件的Pyhton模块。
比如裁剪图像、调整图像大小、编辑图像的内容等。
可以实现自动编辑成千上万的图像。
比如说一些图片网站,你看图时它是没有水印的。
但是当你下载下来的时候,图片便会加上万恶的水印。
这其中恐怕和自动编辑脱离不了关系,毕竟不能人工去加水印吧...
本次利用Pillow库,实现自动化生成倒计时图片。
/ 01 / 科普
在进行代码操作前,简单对相关知识做个简单的学习。
计算机程序通常将图像中的颜色表示为RGBA值。
RGBA值是一组数字,指定颜色中的红、绿、蓝和alpha(透明度)的值。
这些值是从0(根本没有)到255(最高)的整数。
这些RGBA值分配给单个像素,像素是计算机屏幕上能显示一种颜色的最小点。
像素的RGB设置准确地告诉你应该显示哪种颜色的色彩。
在Pillow中,RGBA值表示为四个整数值的元组。
比如红色表示为(255, 0, 0, 255),其中alpha值最大,意味着完全不透明。
图像像素用x和y坐标指定,分别指定像素在图像中的水平和垂直位置。
原点是位于图像左上角的像素,为(0, 0)
这里的示例图使用的是验证码文章里的一张图。

/ 02 / 生成图片
图片的生成其实挺简单的,无非就是一个背景图、一个线框还有几个文本。
详细代码如下。
from PIL import Image, ImageDraw, ImageFont
import os
for i in range(1, 22):
# 创建图像,设置图像大小及颜色
im = Image.new('RGBA', (1000, 1800), (166, 12, 4, 255))
draw = ImageDraw.Draw(im)
# 设置本次使用的字体
fontsFolder = 'C:WindowsFonts'
font1 = ImageFont.truetype(os.path.join(fontsFolder, '华康俪金黑W8.TTF'), 420)
font2 = ImageFont.truetype(os.path.join(fontsFolder, '方正兰亭刊黑.TTF'), 40)
&nbs