Come creare una gif animata usando python

Click to rate this post!
[Total: 1 Average: 5]

è possibile creare una GIF animata da una porzione dello schermo utilizzando Python. Puoi farlo utilizzando librerie come pyautogui per catturare la porzione dello schermo e Pillow (PIL) per creare la GIF. Ecco un esempio di come farlo:

import pyautogui
from PIL import Image, ImageGrab

# Imposta le coordinate e le dimensioni della porzione dello schermo da catturare
x = 100
y = 100
width = 200
height = 200

# Imposta il numero di frame e il nome del file GIF
num_frames = 30
output_file_name = 'output.gif'

# Cattura i frame e crea la GIF
frames = []

for _ in range(num_frames):
    # Cattura la porzione dello schermo come immagine
    screen_capture = ImageGrab.grab(bbox=(x, y, x + width, y + height))
    
    # Aggiungi l'immagine alla lista dei frame
    frames.append(screen_capture)
    
    # Aggiungi una pausa tra i frame (ad esempio, 0.1 secondi)
    pyautogui.PAUSE = 0.1
    pyautogui.sleep(0.1)

# Salva la lista di frame come GIF animata
frames[0].save(output_file_name, save_all=True, append_images=frames[1:], loop=0, duration=100)

In questo esempio, stiamo utilizzando pyautogui per catturare la porzione dello schermo e Pillow (PIL) per creare la GIF animata. Assicurati di avere installate queste librerie sul tuo sistema. Puoi farlo utilizzando pip:

pip install pyautogui pillow

Ricorda che potresti dover fare alcune regolazioni alle coordinate e ai tempi di pausa per adattare il codice alle tue esigenze specifiche.

Inoltre é possibile far durare la registrazione dello schermo finché non si preme un tasto specifico utilizzando Python. Puoi farlo utilizzando la libreria keyboard per rilevare l’input da tastiera e interrompere la registrazione quando viene premuto un tasto specifico. Ecco un esempio di come farlo:

import pyautogui
from PIL import Image, ImageGrab
import keyboard

# Imposta le coordinate e le dimensioni della porzione dello schermo da catturare
x = 100
y = 100
width = 200
height = 200

# Imposta il nome del file GIF
output_file_name = 'output.gif'

# Crea una lista per i frame
frames = []

# Cattura i frame finché non viene premuto un tasto
while True:
    # Cattura la porzione dello schermo come immagine
    screen_capture = ImageGrab.grab(bbox=(x, y, x + width, y + height))
    
    # Aggiungi l'immagine alla lista dei frame
    frames.append(screen_capture)
    
    # Aggiungi una pausa tra i frame (ad esempio, 0.1 secondi)
    pyautogui.PAUSE = 0.1
    pyautogui.sleep(0.1)
    
    # Verifica se il tasto 'q' è stato premuto
    if keyboard.is_pressed('q'):
        break

# Salva la lista di frame come GIF animata
frames[0].save(output_file_name, save_all=True, append_images=frames[1:], loop=0, duration=100)
5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x