动画本身是由静态的图片组成的,按照一定的顺序将静态的图片在极短的时间内播放就可以形成动画。因此,我们可以根据这个原理,将动态的图片转化成一张张静态的图片,再对这些静态图片加以处理,最后,将处理好的静态图片转化成动态图片。这样就达到对动态图片处理的目的。
具体步骤:
1、把动态图片转化成静态图片
2、对每一张静态图片进行处理
- 灰度化
- 静态图转化成一系列的字符
- 一系列字符做成字符画
3、把多张静态的字符画变成动态图
from PIL import Image, ImageDraw, ImageSequence
source = r'./res/小黄鸭.gif'
def txt2img(txtstring):
img = Image.new('RGB', (1200, 1200), (255, 255, 255))
draw = ImageDraw.Draw(img)
draw.text((0, 0), txtstring