Androidのメモとか

ポキオの日記です。今日も遅延してない。

Raspberry Pi + Node-RED + PaPiRus Hatで作った京急の種別幕をアップデートした

(ちょっと更新しました)

更に改造。

Raspberry Pi PaPiRus 京急

前回は決め打ちの画像を表示させていました

relativelayout.hatenablog.com

これだと、好きな文字が表示できないのでちょっとアレでした。今回はさらに、動的に画像をPythonで作って、それをPaPiRusに貼り付けられるようにしました。

PILで画像をつくる

動的に画像を作りたかったので、PythonとPIL(Pillow)を使って実現しています。

# coding=utf-8

import sys
from PIL import Image, ImageDraw, ImageFont

# 電子ペーパーのサイズ
imWidth = 264
imHeight = 176

# デフォルトの表示
text = u"快特"

# 引数で文字列が指定されたら、それを表示する
if len(sys.argv) >= 2:
    text = sys.argv[1].decode('utf-8')

# 画像データのベースを作成
im = Image.new("RGBA", (imWidth, imHeight), (0,0,0,255))

# フォントとサイズを指定
w = 0
h = 0
fontSize = 80;
font = ImageFont.truetype('./k6ura.ttf', fontSize, encoding='unic')

# 電子ペーパーの横幅からはみ出す場合はフォントサイズを小さくする
while 1:
    w, h = font.getsize(text)
    if w < imWidth:
        break
    fontSize = fontSize - 2
    font = ImageFont.truetype('./k6ura.ttf', fontSize, encoding='unic')

# 文字列を書き込む
d = ImageDraw.Draw(im)
d.text(((imWidth - w)/2, (imHeight - h)/2), text, font=font, fill=(255,255,255,255))

# ファイルとして出力する
im.save("shubetsu.png", "PNG")

フォントはこちらのサイトから拝借しています。

フォント/かなえ食堂

あとはこの画像をpapirus-drawでセットするだけ。

どんな感じで動く?

最高です。

ウホッウホッ!

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。