art
前回、光線解析ライブラリOpticalpyでの各種ミラーの設定方法を紹介しました。

今回は文字列のアスキーアートや絵文字を描けるartライブラリを紹介します。
それでは始めていきましょう。
artライブラリのインストール
artライブラリはpipでインストールします。
pip install art
文字列のアスキーアート1:text2art
文字列のアスキーアートを描くにはartライブラリをインポートして、「text2art(“文字列”)」とします。
from art import *
art = text2art("TEST")
print(art)
実行結果
_____ _____ ____ _____
|_ _|| ____|/ ___| |_ _|
| | | _| \___ \ | |
| | | |___ ___) | | |
|_| |_____||____/ |_|
文字間の距離を開けるにはさらに「space=値」の引数を追加します。
from art import *
art = text2art("TEST", space=5)
print(art)
実行結果
_____ _____ ____ _____
|_ _| | ____| / ___| |_ _|
| | | _| \___ \ | |
| | | |___ ___) | | |
|_| |_____| |____/ |_|
またアスキーアートのフォントは色々と準備されており、「font=”フォント名”」を引数に追加することで指定できます。
from art import *
art = text2art("TEST", font="cards")
print(art)
実行結果
.------..------..------..------.
|T.--. ||E.--. ||S.--. ||T.--. |
| :/\: || (\/) || :/\: || :/\: |
| (__) || :\/: || :\/: || (__) |
| '--'T|| '--'E|| '--'S|| '--'T|
`------'`------'`------'`------'
from art import *
art = text2art("TEST", font="fraktur")
print(art)
実行結果
..... .. . ... .....
.H8888888h. ~-. x88f` `..x88. .> .x888888hx : .H8888888h. ~-.
888888888888x `> :8888 xf`*8888% d88888888888hxx 888888888888x `>
X~ `?888888hx~ :8888f .888 `"` 8" ... `"*8888%` X~ `?888888hx~
' x8.^"*88*" 88888' X8888. >"8x ! " ` .xnxx. ' x8.^"*88*"
`-:- X8888x 88888 ?88888< 888> X X .H8888888%: `-:- X8888x
488888> 88888 "88888 "8% X 'hn8888888*" > 488888>
.. `"88* 88888 ' `8888> X: `*88888%` ! .. `"88*
x88888nX" . `8888> % X88! '8h.. `` ..x8> x88888nX" .
!"*8888888n.. : `888X `~""` : `88888888888888f !"*8888888n.. :
' "*88888888* "88k. .~ '%8888888888*" ' "*88888888*
^"***"` `""*==~~` ^"****""` ^"***"`
使用できるフォントに関してはこのライブラリのGithubのページに一覧が記載されています。
また「font=”random”」とすると、ランダムにフォントが選択されます。
その際、「”random”」の代わりに「”rand”」や「”rnd”」を使用してもランダムにフォントが選択されます。
from art import *
art = text2art("TEST", font="random") #rand, rnd
print(art)
実行結果
____ _____ _____ ____
/ \/ __\/ ___>/ \
\- -/| __||___ |\- -/
|__| \_____/<_____/ |__|
さらに「”random-small”」、「”random-medium”」、「”random-large”」、「”random-xlarge”」とするとそれぞれ指定したサイズのフォントからランダムに選択されます。
この際も「random」の部分は「rand」や「rnd」でも大丈夫です(例:”rnd-small”)
from art import *
art = text2art("TEST", font="random-small")
print(art)
実行結果
::::::|::::::|.:::::|::::::|
::| :::> `:::::> ::|
::| ::::::|,::::/ ::|
from art import *
art = text2art("TEST", font="random-medium")
print(art)
実行結果
dBBBBBBP dBBBP .dBBBBP dBBBBBBP
BP
dBP dBBP `BBBBb dBP
dBP dBP dBP dBP
dBP dBBBBP dBBBBP' dBP
from art import *
art = text2art("TEST", font="random-large")
print(art)
実行結果
========================================
= == === === =
==== ===== ======== ==== ===== ====
==== ===== ======== ==== ===== ====
==== ===== ========= ========== ====
==== ===== ======= ======== ====
==== ===== ============= ====== ====
==== ===== ======== ==== ===== ====
==== ===== ======== ==== ===== ====
==== ===== === ====== ====
========================================
from art import *
art = text2art("TEST", font="random-xlarge")
print(art)
実行結果
sdSS_SSSSSSbs sSSs sSSs sdSS_SSSSSSbs
YSSS~S%SSSSSP d%%SP d%%SP YSSS~S%SSSSSP
S%S d%S' d%S' S%S
S%S S%S S%| S%S
S&S S&S S&S S&S
S&S S&S_Ss Y&Ss S&S
S&S S&S~SP `S&&S S&S
S&S S&S `S*S S&S
S*S S*b l*S S*S
S*S S*S. .S*P S*S
S*S SSSbs sSS*S S*S
S*S YSSP YSS' S*S
SP SP
Y Y
文字列のアスキーアート2:tprint
文字列のアスキーアートを表示するだけなら「tprint(“文字列”)」が使えます。
from art import *
tprint("TEST")
実行結果
_____ _____ ____ _____
|_ _|| ____|/ ___| |_ _|
| | | _| \___ \ | |
| | | |___ ___) | | |
|_| |_____||____/ |_|
「tprint」でも「font=”フォント名”」の引数を追加することでフォントを指定することができます。
from art import *
tprint("TEST", font="fraktur")
実行結果
..... .. . ... .....
.H8888888h. ~-. x88f` `..x88. .> .x888888hx : .H8888888h. ~-.
888888888888x `> :8888 xf`*8888% d88888888888hxx 888888888888x `>
X~ `?888888hx~ :8888f .888 `"` 8" ... `"*8888%` X~ `?888888hx~
' x8.^"*88*" 88888' X8888. >"8x ! " ` .xnxx. ' x8.^"*88*"
`-:- X8888x 88888 ?88888< 888> X X .H8888888%: `-:- X8888x
488888> 88888 "88888 "8% X 'hn8888888*" > 488888>
.. `"88* 88888 ' `8888> X: `*88888%` ! .. `"88*
x88888nX" . `8888> % X88! '8h.. `` ..x8> x88888nX" .
!"*8888888n.. : `888X `~""` : `88888888888888f !"*8888888n.. :
' "*88888888* "88k. .~ '%8888888888*" ' "*88888888*
^"***"` `""*==~~` ^"****""` ^"***"`
また「space=値」の引数を追加することで文字間のスペースを調整することができます。
from art import *
tprint("TEST", space=5)
実行結果
_____ _____ ____ _____
|_ _| | ____| / ___| |_ _|
| | | _| \___ \ | |
| | | |___ ___) | | |
|_| |_____| |____/ |_|
絵文字の表示
絵文字を表示するには「art(“文字列”)」で絵文字に変換して、それをprint関数で表示します。
from art import *
art = art("sleeping")
print(art)
実行結果
(-.-)Zzz...
もしくは「sprint(“文字列”)」で表示することができます。
from art import *
aprint("sleeping")
実行結果
(-.-)Zzz...
使用できる絵文字のリストはこちらのページをご覧ください。
引数に「number=値」と「space=値」を追加すると、同じ絵文字をspaceの値だけスペースを入れて、numberの数値分繰り返します。
from art import *
art = art("sleeping", number=3, space=2)
print(art)
実行結果
(-.-)Zzz... (-.-)Zzz... (-.-)Zzz...
from art import *
aprint("sleeping", number=3, space=2)
実行結果
(-.-)Zzz... (-.-)Zzz... (-.-)Zzz...
次回はpyenv環境へのStable Diffusionのインストール方法を紹介します。
ではでは今回はこんな感じで。
コメント