夢屋まさる氏の「パンケーキ食べたい」スクリプトを作ってみた

どーもー乙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
total 1456
   8 -rw-r--r--  1 ss  staff    3125  2  2 16:37 WishEatPancake.ipynb
1448 -rw-r--r--  1 ss  staff  738944  2  2 16:39 wisheatpancake.gif

                       wisheatpancake