Python

【PythonでGIFファイル作成】簡単に画像を動かしてみる

Pythonを使うとインポートを含めて、たった5行でGIFファイルが作れてしまいます。

遊び感覚でぜひ作ってみてください。

必要なライブラリをインポート

from PIL import Image
import glob

画像ファイルを順々に読み込む

同じディレクトリ内にgifというフォルダを作成し、gif化したい画像データを入れておきます。

glob.globで.pngの拡張子のファイルのパスを入手します。

files = sorted(glob.glob('./gif/*.png')) 

listの各要素に対して処理を行う場合はmap関数を使います。

戻り値はmapオブジェクトというもの(for文で回すことができるオブジェクト)になるようです。

mapオブジェクトをlist化したものをimagesとします。

images = list(map(lambda file : Image.open(file) , files))

ちなみに下記のような例文では[‘1111’, ‘2222’, ‘3333’, ‘4444’]

とう結果が返ってきます。

list(map(lambda x: x+x, ["11","22","33","44"]))

最後にGIFファイルとして保存します。

save_allはアニメーションとして保存するかどうかを指定、

append_imagesは画像オブジェクトのリストを指定、

durationは各画像の表示時間(500ミリ秒)、

loopは繰り返し回数(loop=0は無限ループ)です。

images[0].save('image.gif' , save_all = True , append_images = images[1:] , duration = 500 , loop = 0)

コードまとめ

from PIL import Image
import glob

files = sorted(glob.glob('./gif/*.png'))  
images = list(map(lambda file : Image.open(file) , files))
images[0].save('image.gif' , save_all = True , append_images = images[1:] , duration = 400 , loop = 0)

以上で解説は終わりです。

ABOUT ME
Mickey@コーヒー好きエンジニア
【製造業×プログラミング×AI】Python/VBAを活用した業務改善、Streamlit/Plotlyを活用したWebアプリ開発について初心者向けに発信中|Wordpressブログを運営しながらHTML/CSSの勉強中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信
【製造×プログラミング×AI】
Mickey@コーヒー好きエンジニア
【製造業×プログラミング×AI】ロボット×画像処理×AI×3現主義が得意な生産技術者|Python/VBAを活用した業務改善、Streamlit/Plotly/PySimpleGUIなどを活用したアプリ開発について初心者向けに発信中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信|iOSアプリ開発も始めました
\ Follow me /