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)
以上で解説は終わりです。