序言

文中的文本及图片来自互联网,仅作学习培训、沟通交流应用,不具备一切商业行为,著作权归著作人全部,如不太好请立即在线留言以作解决 。

创作者:EarlGrey

 

 

什么叫 GIF 图?

GIF(“图型互换格式 ”)是一种位图图像格式 ,于80年代开发设计。

GIF大部分是一系列具备不一样设定的图象,比如:

  • 循环播放
  • 每帧的延迟时间(图片)
  • 别的…

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


​​​​​​​表述下上边的编码:

  1. 复位一个空目录 frames ,及其 0点座标 x 和 y
  2. 用一个运作十次的 for 循环系统 ,每一次建立一张 400x400 尺寸的图片,图片中红球的部位不一样
  3. 变更红球的座标,让红球顺着直线往下坠
  4. 设定主要参数 format='GIF' , append_images=frames[1:],储存 GIF 图片
  • 每帧图片播发100毫秒( duration=100
  • GIF图片一直反复循环系统( loop=0,假如设定为 1 ,则循环系统1次,设定为2则循环系统两次,依此类推)

 

最后转化成的 GIF 图大约是下边那样的:

文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归趣快排营销www.seoguRubloG.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系✚Qq61910465