おはようございます。
久々に群馬県庁のライブカメラ(北側)を覗いています。
さてと
Pythonを使ってパラパラ漫画を作っています。
①Pythonをお使いのコンピューターにインストールする場合は、
を参照願います。
②パラパラ漫画の元になるコンテンツ(今回は国旗のJPEGファイル)
各JPEGファイル:
96dpiとは、1インチ当たりの画素(ピクセル)数が、96という意味です。 dot per inch
幅96画素、高さ64画素
ビットの深さ 24(3*8)とは、RGB各色8ビットという意味です。各色のグラデーションが256(2の8乗)段階になります。
③パラパラ漫画用Pythonスクリプト
###
#last update 2024.5.5 by jk1brk
from PIL import Image
import os
# 画像ファイルの名前を格納するリストを用意
list_file_name = []
# 画像データを格納するリストを用意
list_images = []
# source file type
image_type = 'jpg'
# destination file name
d_fname = 'movie'
# duration
d = 1000
# 画像ファイルとPythonプログラムは同じ場所に置いたのでカレントディレクトリを指定
dir = './'
for file_name in os.listdir(dir):
# リストに追加
if file_name.endswith(image_type):
list_file_name.append(file_name)
else:
print('no image_type', file_name)
# 念のため画像ファイル名の順番を逆ソート
list_file_name.sort(reverse=True)
# 倍率、回転を指定
trans = 'RGB'
ratio = 1.00
rot = 0
for i in list_file_name:
img = Image.open(i).convert(trans)
# 画像のリサイズ
resized_img = img.resize((int(img.width * ratio), int(img.height * ratio)))
# 画像の回転0度を指定
rotated_resized_img = resized_img.rotate(rot)
list_images.append(rotated_resized_img)
# gifアニメの出力
list_images[0].save(d_fname+'.gif',save_all=True, append_images=list_images[1:],
optimize=True, duration=d, loop=0)
###
上記スクリプトと各JPEGファイルは、同じフォルダーに置いてください。
・duration = 1000 は各画像の表示時間です。1000ミリ秒。
・loop = 0 は値で繰り返し回数が変わります。loop=0は無限ループ。
④完成したGIFGraphics Interchange Format
【参照】
【参考記事】