地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

Twitterプロフィール画面変更 #3 画像に文字を

Twitterのトレンドからピックアップした画像を解析してよく使われている色を並べた画像を作成しました。Twitterの今日の色は何色?的な気分です。それを、Twitterのプロフィール画面のヘッダーに python を使って変更するところまでできました。

 

さて、一定時間ごとにポストするようにしているんですが、6時間毎ポストし続けると #色見本 としたポストが溜まっていくので、見にくい・・・。そこで、その代わりにヘッダ画面を定期的に変えることにします。ついでに画像に解析対象とした時刻を記述することにします。

 

使うのはPillow 以下の2つのサイトを参考にして・・・

watlab-blog.com

qiita.com

 

それぞれを参考にさせてもらって・・・ colaboratory 上でちょこっと改良。

まずは日本語フォントを入れます。

!apt-get -y install fonts-ipafont-gothic

その次に文字を入れる関数を定義します。

def img_add_msg(x,y,img, message):
  font_path = '/usr/share/fonts/truetype/fonts-japanese-gothic.ttf'
  font_size = 18
  font = ImageFont.truetype(font_path, font_size)
  draw = ImageDraw.Draw(img)

  img = draw.text((x-1, y-1), message, font=font, fill=(255, 255, 255, 0))
  img = draw.text((x-1, y+1), message, font=font, fill=(255, 255, 255, 0))
  img = draw.text((x+1, y-1), message, font=font, fill=(255, 255, 255, 0))
  img = draw.text((x+1, y+1), message, font=font, fill=(255, 255, 255, 0))

  img = draw.text((x, y), message, font=font, fill=(0, 0, 0, 0))
return img

 必要なら、文字の色と縁取りの色、フォントも引数すれば汎用性上がるけど、メンドイのでこれでよしとする。

 

さて、これを Raspberry Piに持っていくと・・・あれ?DroidSansFallbackFull.ttfだと日本語がうまく表示されない・・・。うーん。仕方がないので日本語のテキストは使わずに終了。ipaのフォントを入れちゃえば、たぶん解決するんだろうけど、今日のところは疲れたのでおしまい。

 

 

 

bwgift.hatenadiary.jp

bwgift.hatenadiary.jp