見出し画像

サムネの太文字を無料でつくる方法ーPython,Streamlit


ふちどり文字ってありますよね。Youtubeのサムネやパワーポイントのスライドで目立たせるための太い文字のアレです。


こんな感じの文字をpythonのフレームワークStreamlit(ストリームライト)でつくります。


完成デモ”ふちどる”

画像1

ふちどるの手順を説明
1. テキストを入力
2. テキストの大きさを設定
3. カラーピッカーでふち中の色・ふち外の色を選択
4. テキスト出力

誰でも簡単にふちどりのWEBアプリが作れます。たぶん時間は1時間はかからないと思います。

streamlitとは? https://streamlit.io/ 動画で説明していますね。この説明がすごくわかりやすいです


Pythonのインストール

画像3

Pythonのインストールについては記事を書いていますので、参照してください。

実行までに必要な項目は大きく分けてあと3つです!

1、Streamlitをインストール

画像4

pip install streamlit


2、外部ライブラリインストール

画像5

pip install matplotlib
pip install pandas

コードをコピペしてmain.pyでセーブ(コードは最下部)

ターミナル上でカレントディレクトリに移動して、

cd :\ ***

実行します

streamlit run main.py

画面が立ち上がります。

画像2

3、Pythonコード

画像6

# -*- coding: utf-8 -*-
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import matplotlib.patheffects as path_effects
from matplotlib.font_manager import FontProperties
# sidemenu
st.sidebar.markdown(
   "# ふちどる"
   
)
intext = st.text_input('文字を入力',max_chars=100)
Size = st.slider('大きさ', min_value=50, max_value=80)
Line_w = st.slider('ふちの厚さ', min_value=1, max_value=10)
InColor = st.color_picker('ふち中の色')
OutColor = st.color_picker('ふち外の色')
fig = plt.figure(figsize=(7, 1))
fig.patch.set_alpha(0.0)
text = fig.text(0.5, 0.5, (intext), color=(InColor),
                         ha='center', va='center', size=(Size) ,fontname='MS Gothic')
text.set_path_effects([path_effects.Stroke(linewidth=(Line_w), foreground=(OutColor)),
                      path_effects.Normal()])
st.write("テキスト出力")
st.pyplot(fig)
#フォント一覧取得
fonts = fm.findSystemFonts()
fna=[]
l1=[]
l2=[]
for font in fonts:
   text=font.strip()
   text=font.split('/')
   fna=fna+[text[-1]]
   l1=l1+[len(text[-1])]
   l2=l2+[len(font)]
print('length of list-fna       =',len(fna))
print('length of list-fonts     =',len(fonts))
print('character length of fna  =',max(l1))
print('character length of fonts=',max(l2))
cl=max(l1)+max(l2)
df=pd.DataFrame({
   'fname': fna,
   'path' : fonts
})
pd.set_option('display.max_rows',len(fna))
pd.set_option('display.max_colwidth',cl)
df=df.sort_values(by='fname')
df

フォント一覧の取得

使えるフォントが一覧で表示されます。


こちらの記事を参考にしました。


フォントの変更を行いたい場合はフォントネームを一覧から取得して書き換えてください。MS gothic→メイリオの場合

text = fig.text(0.5, 0.5, (intext), color=(InColor),
                         ha='center', va='center', size=(Size) ,fontname='Meiryo')

参考にしたサイト

画像8

Matplotlibはグラフ描写や数理計算をするためのライブラリですが、使い方によってはいろんなことができます。

Youtube

いまにゅさん @03imanyu の解説はとても役に立ったので感謝です。他のpython動画もぜひ見てほしいです。




ご覧いただきありがとうございました。 サポートしていただいたお金は開発費にかけさせていただきます。