扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍Python怎么快速创建 GIF 动图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联作为成都网站建设公司,专注成都网站建设、网站设计,有关成都企业网站建设方案、改版、费用等问题,行业涉及阳台护栏等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
GIF(“图形交换格式”)是一种位图图像格式,于1987年开发。
GIF基本上是一系列具有不同设置的图像,例如:
循环播放
每帧的持续时间(图片)
其他…
GIF 也可以是静态图像。
Pillow 是 Python 图形处理库 PIL 的一个分支,引入了许多更改和增强功能,以使API易于使用或处理更多图像格式和要求。支持打开、处理和保存多种不同格式的图片文件。
第一步,我们需要先安装 Pillow:
pip install Pillow
我们生成一张红球往下坠落的 GIF 动图,作为文章示例。
首先,编写一个函数,利用 Pillow 在一张图片上画一个红球。
from PIL import Image, ImageDraw def create_image_with_ball(width, height, ball_x, ball_y, ball_size): img = Image.new('RGB', (width, height), (255, 255, 255)) draw = ImageDraw.Draw(img) # draw.ellipse takes a 4-tuple (x0, y0, x1, y1) where (x0, y0) is the top-left bound of the box # and (x1, y1) is the lower-right bound of the box. draw.ellipse((ball_x, ball_y, ball_x + ball_size, ball_y + ball_size), fill='red') return img
上述代码中,我们使用 Image.new
创建了一张 RGB 图片,并设置背景为白色,指定了图片大小。
接着,通过 ImageDraw
在图片中的指定参数位置,画了一个红色的圆圈。所以,我们要做的就是创建多张图片,不断让红球往下坠。
# Create the frames frames = [] x, y = 0, 0 for i in range(10): new_frame = create_image_with_ball(400, 400, x, y, 40) frames.append(new_frame) x += 40 y += 40 # Save into a GIF file that loops forever frames[0].save('moving_ball.gif', format='GIF', append_images=frames[1:], save_all=True, duration=100, loop=0)
解释下上面的代码:
初始化一个空列表 frames
,以及 0点坐标 x
和 y
用一个运行十次的 for 循环,每次创建一张 400x400 大小的图片,图片中红球的位置不同
更改红球的坐标,让红球沿着对角线往下坠
设置参数 format='GIF'
, append_images=frames[1:]
,保存 GIF 图片
每帧图片播放100毫秒( duration=100
)
GIF图片一直重复循环( loop=0
,如果设置为 1,则循环1次,设置为2则循环2次,以此类推)
以上是“Python怎么快速创建 GIF 动图”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流