Crea y guarda GIF animados con Python – Pillow

Requisitos previos: Pillow

En este artículo, vamos a utilizar una biblioteca de Pillows para crear y guardar gifs.

GIF: el formato de intercambio de gráficos (gif) es un formato de imagen de mapa de bits que fue desarrollado por un equipo del proveedor de servicios en línea CompuServe dirigido por el informático estadounidense Steve Wilhite el 15 de junio de 1987.

Un archivo GIF normalmente almacena una sola imagen, pero el formato permite almacenar varias imágenes en un solo archivo. El formato también tiene parámetros que se pueden usar para secuenciar las imágenes para mostrar cada imagen por un corto tiempo y luego reemplazarla con la siguiente. En palabras simples, GIF es una imagen en movimiento.

Pillow: Pillow se utiliza para el procesamiento de imágenes en python. Pillow se desarrolló sobre PIL (biblioteca de imágenes de Python). PIL no se admitía en python 3, por lo que usamos una Pillow. 

Este módulo no está precargado con Python. Entonces, para instalarlo, ejecute el siguiente comando en la línea de comandos:

pip install pillow

Vamos a crear un gif paso a paso:

Paso 1: Primero importamos nuestros requisitos para el módulo PIL.

Python3

from PIL import Image, ImageDraw

Paso 2: Cree una lista después de ingresar los valores del círculo. (0,255,0) es el código de color verde y (255,0,0) es el código de color rojo.

Python3

images = []
width = 200
center = width // 2
color_1 = (0,255, 0)
color_2 = (255, 0, 0)
max_radius = int(center * 1.5)
step = 8

Paso 3: se usó el bucle For para crear una imagen de animación. La segunda línea de código se usó para establecer los valores del cuadrado, ese cuadrado contiene color rojo y su tamaño de borde es 200. La tercera línea se usó para crear una imagen cuadrada. La cuarta línea se usó para dibujar un círculo en esa imagen cuadrada, el color de ese círculo es verde.

Python3

for i in range(0, max_radius, step):
    im = Image.new('RGB', (width, width), color_2)
    draw = ImageDraw.Draw(im)
    draw.ellipse((center - i, center - i,
                  center + i, center + i), 
                 fill=color_1)
    images.append(im)

Paso 4: Guarda la imagen gif.

Python3

images[0].save('pillow_imagedraw.gif',
               save_all = True, append_images = images[1:],
               optimize = False, duration = 10)

A continuación se muestra la implementación completa:

Python3

from PIL import Image, ImageDraw
  
images = []
  
width = 200
center = width // 2
color_1 = (0,255, 0)
color_2 = (255, 0, 0)
max_radius = int(center * 1.5)
step = 8
  
for i in range(0, max_radius, step):
    im = Image.new('RGB', (width, width), color_2)
    draw = ImageDraw.Draw(im)
    draw.ellipse((center - i, center - i,
                  center + i, center + i),
                 fill = color_1)
    images.append(im)
  
images[0].save('pillow_imagedraw.gif',
               save_all = True, append_images = images[1:], 
               optimize = False, duration = 10)

  Producción:

Publicación traducida automáticamente

Artículo escrito por mohanapranes y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *