著者:米田 聡
小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第1回は、電子ペーパーディスプレイ搭載の拡張基板を扱います。
シェルスクリプトマガジン Vol.68は以下のリンク先でご購入できます。
図3 電子ペーパーディスプレイに文字を表示するサンプルプログラム(text.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from inky import Inky from PIL import Image, ImageFont, ImageDraw DEFAULT_FONT = '/usr/share/fonts/truetype/fonts-japanese-gothic.ttf' FONT_SIZE = 24 LINE_HEIGHT = 26 ink = Inky() # 2値イメージの作成 image = Image.new('P',(ink.width, ink.height)) draw = ImageDraw.Draw(image) font = ImageFont.truetype(DEFAULT_FONT, FONT_SIZE) # 文字描画 draw.text((0, 0), "シェルスクリプト" , font=font, fill=1) draw.text((0,26), "マガジン" , font=font, fill=1) draw.text((0,52), "ゼロ・ワンシリーズ", font=font, fill=1) draw.text((0,78), "電子ペパーモニタ" , font=font, fill=1) # セットして表示 ink.set_image(image) ink.show() |
図5 電子ペーパーディスプレイに画像を表示するサンプルプログラム(logo.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from inky import Inky from PIL import Image ink = Inky() img = Image.open("shelllogo.png") # サイズ変換 img = img.resize((ink.width, ink.height)) # 2値画像への変換 img = img.convert('1', dither=True) # セットして表示 ink.set_image(img) ink.show() |