Python怎么快速创建 GIF 动图

发布时间:2021-11-25 15:00:46 作者:小新
来源:亿速云 阅读:140

这篇文章主要介绍Python怎么快速创建 GIF 动图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

什么是 GIF 图?

GIF(“图形交换格式”)是一种位图图像格式,于1987年开发。

GIF基本上是一系列具有不同设置的图像,例如:

GIF 也可以是静态图像。

Python怎么快速创建 GIF 动图

Pillow

Pillow 是 Python 图形处理库 PIL 的一个分支,引入了许多更改和增强功能,以使API易于使用或处理更多图像格式和要求。支持打开、处理和保存多种不同格式的图片文件。

利用 Python 生成 GIF

安装 Pillow

第一步,我们需要先安装 Pillow:

pip install Pillow

生成 GIF

我们生成一张红球往下坠落的 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)

解释下上面的代码:

  1. 初始化一个空列表 frames ,以及 0点坐标 x 和 y

  2. 用一个运行十次的 for 循环,每次创建一张 400x400 大小的图片,图片中红球的位置不同

  3. 更改红球的坐标,让红球沿着对角线往下坠

  4. 设置参数 format='GIF', append_images=frames[1:],保存 GIF 图片

以上是“Python怎么快速创建 GIF 动图”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. python做gif的方法
  2. Python爬虫实现获取动态gif格式搞笑图片的方法示例

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:怎么用Python分析北京的二手房数据

下一篇:怎么利用Python绘制酷炫的车辆轨迹

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》