溫馨提示×

python如何把圖片做成動圖

小億
189
2023-12-01 12:49:06
欄目: 編程語言

要把圖片制作成動圖,可以使用Python的PIL庫(Python Imaging Library)或者OpenCV庫。下面是使用PIL庫的示例代碼:

from PIL import Image

# 打開圖片
image1 = Image.open('image1.jpg')
image2 = Image.open('image2.jpg')
image3 = Image.open('image3.jpg')

# 創建一個新的文件夾保存動畫幀
image1.save('animated.gif',
            save_all=True,
            append_images=[image2, image3],
            optimize=False,
            duration=500,
            loop=0)

在這個示例中,首先通過Image.open()方法打開了三張圖片(image1.jpg、image2.jpg和image3.jpg)。然后,使用save()方法將這些圖片保存為一個動畫幀。save_all=True表示保存所有的幀,append_images參數指定了要添加到動畫中的其他圖片幀,optimize=False表示不進行優化,duration參數表示每個幀的顯示時間(單位為毫秒),loop參數表示循環次數,0表示無限循環。

如果要對動圖進行進一步編輯,可以使用imageio庫和numpy庫進行幀的讀取和處理。以下是一個示例代碼:

import imageio
import numpy as np

# 讀取動畫幀
image1 = imageio.imread('image1.jpg')
image2 = imageio.imread('image2.jpg')
image3 = imageio.imread('image3.jpg')

# 創建一個空白動畫
animated_image = np.zeros_like(image1)

# 合并幀
animated_image[0:100, 0:100, :] = image1
animated_image[100:200, 100:200, :] = image2
animated_image[200:300, 200:300, :] = image3

# 保存動畫
imageio.imwrite('animated.gif', animated_image, duration=0.5)

在這個示例中,首先使用imageio庫的imread()函數讀取圖片幀。然后,創建一個空白的動畫幀,使用numpy庫的zeros_like()函數創建與圖片尺寸相同的空白幀。接著,使用切片操作將讀取的圖片幀放置到相應位置。最后,使用imageio庫的imwrite()函數保存動畫幀為動圖文件。duration參數表示每個幀的顯示時間(單位為秒)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女