夢屋まさる氏の「パンケーキ食べたい」スクリプトを作ってみた
どーもー乙pyです。非常に実用性のないプログラムを作成しました。
夢屋まさる氏のネタ
「パンケーキ食べたい」
を連呼するだけのGIF画像を生成するプログラムです。
使い方は簡単、ソースをコピーして
wish_eat_pancake関数を呼び出すだけ。
一応windowsとmacでフォントの場所が違うので
そこだけ指定が必要ですが・・・
ちょっとした説明を動画に
ソースを貼っておきますね。
In [7]:
from PIL import Image, ImageDraw, ImageFont
pancake_size = 12
img_size = (320, 180)
img_base_color = (0, 0, 0)
# windows
# font_place = "C:\Windows\Fonts\meiryob.ttc"
# Mac
font_place = '/System/Library/Fonts/AquaKana.ttc'
def pancake(images):
for i in range(20):
img = Image.new('RGB',img_size, img_base_color)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(font_place, pancake_size+i)
draw.text((10, 10), '\nパンケーキ食べたい!' ,
fill=(255, 200 - i*4, 0), font=font)
images.append(img)
return images
def wish_eat_pancake(texts,gif_name):
images = []
for draw_text in texts:
draw_text = '\n' + draw_text
for c in range(3):
images = pancake(images)
for i in range(20):
img = Image.new('RGB',img_size, img_base_color)
draw = ImageDraw.Draw(img)
if len(draw_text)>10:
if len(draw_text)>=30:
draw_text = draw_text[0:30]
draw_text = ''.join([ t+'\n' if e%10==0 and e>0
else t for e,t in enumerate(draw_text)])
font_size = min(pancake_size + i , 29)
font = ImageFont.truetype(font_place, font_size)
draw.text((10, 10), draw_text , fill=(255, 200 - i*4, 0), font=font)
images.append(img)
images[0].save(gif_name ,save_all=True,
append_images=images[1:],
optimize=False, duration=16*len(texts), loop=0)
In []:
# フォントの場所を指定(font_place)
# 使い方 引数にリスト型で文言を指定、第二引数にファイル名
wish_eat_pancake(['新宿はキタナイ','押上もキタナイ','蒲田はジゴク'] , 'wisheatpancake.gif')
In []:
# 実行後にGIFファイルが作られる
!ls -ls