【Python基礎】文字列のアスキーアートや絵文字を描けるartライブラリ

  • URLをコピーしました!

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のインストール方法を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする