見出し画像

Pythonでマトリックスっぽいサムネイル

Pythonのグラフを作成機能で、サムネつくれるんじゃね?
という安易な思いつきから、色々いじってみた。

最近、マトリックスの新作が公開されたことだし、
どうせなら、マトリックスっぽいサムネをつくってみよう!

0.事前準備

日本語のライブラリをインストール

pip install japanize_matplotlib

1.コーティング

コーディングは下記。

import numpy as np
import japanize_matplotlib
import matplotlib.pyplot as plt
%matplotlib inline

plt.rcParams['axes.facecolor'] = 'black' 

fig, ax1 = plt.subplots(figsize=(20,7),facecolor="black")
ax1.axes.xaxis.set_visible(False)
ax1.axes.yaxis.set_visible(False)

# 背景で呼び出される文章
text=["ぱおん        それな",
     "インデックスしか勝たん",
     "       GAFAMは債券",
     "100010101101010",
     "小型グロース   ぴえん",
     "        高配当でFIRE",
     "111001101111010",
     "きゅんです         草",
     "matplotlib.animation ",
     "         テーパリング",
     "001010010101010",
     "plt.subplots(figsize =",
     "IPython.displayrandom"  
     ]
# サムネ文
text2=[
      "【 Python 】",
      "Pythonで", 
      "マトリックスっぽい",
      "サムネをつくる"
      ]

# 背景作成のループ処理(座標ランダム、文章は割り算の商)
for i in range(1,200):
 rand1 = np.random.rand()
 rand2 = np.random.rand()
 rand3 = np.random.rand()
 ax1.annotate(text[ i%len(text) ], (rand1,rand2-0.1),size=20,color="#00ff41",alpha=0.25, rotation="vertical")
 ax1.annotate(text[ i%len(text) ], (rand1*1.01,rand2*1.01-0.1),size=20,color="white",alpha=0.15, rotation="vertical")
 ax1.annotate(text[ (i+1)%len(text) ], (rand3,rand2-0.1),size=20,color="#00ff41",alpha=0.3, rotation="vertical")
 ax1.annotate(text[ (i+1)%len(text) ], (rand2,rand3-0.1),size=20,color="white",alpha=0.15, rotation="vertical")

# サムネ文字に影をつける処理
for i in range(5):
 ax1.annotate(text2[0], (0.+i*i*0.001,1+i*i*0.001),size=50,color="#00ff41",alpha=0.2-(i*0.01))
 ax1.annotate(text2[1], (0.1+i*i*0.001,0.70+i*i*0.001),size=110,color="#00ff41",alpha=0.3-(i*0.01))
 ax1.annotate(text2[2], (0.1+i*i*0.001,0.40+i*i*0.001),size=110,color="#00ff41",alpha=0.2-(i*0.01))
 ax1.annotate(text2[3], (0.1+i*i*0.001,0.1+i*i*0.001),size=110,color="#00ff41",alpha=0.2-(i*0.01))

# サムネ文字
ax1.annotate(text2[0], (0,1),size=50,color="white",alpha=1)
ax1.annotate(text2[1], (0.1,0.70),size=110,color="white",alpha=1)
ax1.annotate(text2[2], (0.1,0.40),size=110,color="white",alpha=1)
ax1.annotate(text2[3], (0.1,0.1),size=110,color="white",alpha=1)

plt.show()

解説1:よく見ると実は、文章にネタが仕込んであったりします。
 text=["ぱおん それな",
 "インデックスしか勝たん",
 " GAFAMは債券",
 "小型グロース ぴえん",
 "高配当でFIRE",
 "きゅんです 草"]
解説2:text2を変更する事でサムネの文字を変えることができます。
 text2=[
 "【 Python 】",
 "Pythonで",
 "マトリックスっぽい",
 "サムネをつくる"]

2.実行結果

プログラムを実行すると下記のような実行結果が出力される。

ダウンロード (1)

改善の余地はありそうだけど、
まぁ結構、いい感じにできたのではないだろうか。

少し前から構想を練っていたんだけど、なかなか手をつけられていなかったので、新年を迎えて心機一転で作ってみた。

参考になる人はあまりいないかもしれないけど、何かの参考になれば幸いです。では!

ちなみに背景の文章に仕込んだネタはこんな感じ。

スクリーンショット 2022-01-04 19.47.40

「缶コーヒー1杯、ご馳走してあげよう」という太っ腹な人は投げ銭を!

課金しなくても、参考になったら「ハートボタン、フォロー、リツイート」をお願いします。読まれる可能性があがるので、次の記事を書くやる気が出ます。

ここから先は

0字

¥ 100

この記事が気に入ったらサポートをしてみませんか?