2012-07-08 12 views
8

開発者のコ​​マンドラインツールにイースターエッグを追加したいと思います。特定の日付に一致すると、そのユーザに挨拶します。基本的に、私を探しています:PythonのテキストからASCIIへのアートジェネレータ

>>> print big_text("Happy\nBirthday")                     

    .     _________ _...._ _________ _...._      
.'|     \  |.'  '-. \  |.'  '-. .-.   .- 
< |     \  .'```'. '.\  .'```'. '.\ \  // 
| |    __  \  |  \  \\  |  \  \\ \ // 
| | .'''-. .:--.'.  |  |  | | |  |  | | \ \ // 
| |/.'''. \/| \ | |  \ / . |  \ / . \ \//  
|/ | | `" __ | | |  |\`'-.-' .' |  |\`'-.-' .'  \ `/ 
| |  | | .'.''| | |  | '-....-'`  |  | '-....-'`  \/  
| |  | |// | |_ .'  '.    .'  '.    //  
| '. | '.\ \._,\ '/'-----------'   '-----------'   |`-'/  
'---' '---'`--' `"     _______      '..'   
/|  .--.     .  \ ___ `'.        
||  |__|     .'|   ' |--.\ \   .-.   .-  
||  .--..-,.--.  .| < |   | | \ '   \ \  //  
|| __ | || .-. | .' |_ | |   | |  | ' __ \ \ //  
||/'__ '. | || | | | .'  || | .'''-. | |  | | .:--.'. \ \ //  
|:/` '. '| || | | |'--. .-'| |/.'''. \ | |  ' .'/ | \ | \ \//   
||  | || || | '- | | |/ | | | |___.' /' `" __ | | \ `/  
||\ /'|__|| |  | | | |  | |/_______.'/ .'.''| |  \/   
|/\'..'/ | |  | '.'| |  | |\_______|/ // | |_ //   
' `'-'`  |_|  | /| '. | '.   \ \._,\ '/|`-'/   
         `'-' '---' '---'   `--' `" '..'    

パッケージはありますか?

Credit where credit is due。 、http://www.youtube.com/watch?v=NEWuZfTNoJE

ORあなたはそれを自分でやろうとすることができる。

+0

サンプルをどのように生成しましたか? – Triptych

+1

@Triptych:投稿の一番下にあるリンクを参照してください。 –

+0

related:[アスキーアートのテキストを簡単に印刷できるようにするPythonライブラリはありますか?](0120-18753-03) – jfs

答えて

10

ここにリンクしているTAAGアプリの著者。 TAAGのフォントのほとんどは、FIGletフォント(figlet.org)です。 FIGletはコマンドラインのLinuxアプリケーションですが、FIGletドライバはいくつかの言語で書かれています。それが動作するようにはPythonに移植する必要があるであろうけれども

https://github.com/patorjk/figlet.js

:私はここにJavaScriptで書いたドライバをリリースしました。私はFigletによるPythonライブラリの検索を行なったし、これを見つけた:

https://github.com/pwaller/pyfiglet

私はそれがどのように動作するかよくわからないんだけど、またはそれがどのように実装するかの仕様の多くは、それはかなり完全に見えます。

2

私はこの質問はスタック オーバーフローのためのトピックオフビットだと思いますが、あなたは「ASCIIアートのPythonを」Googleとのようなものを取得しようとすることができます

rows = 13 # Maximum height of character 

# 0 is a , 1 is b and so on... 
alphabeth = [[ 
r'''   ''', 
r'''   ''', 
r'''   ''', 
r'''   ''', 
r'''   ''', 
r''' __  ''', 
r''' .:--.'. ''', 
r'''/ | \ | ''', 
r'''`" __ | | ''', 
r''' .'.''| | ''', 
r'''// | |_ ''', 
r'''\ \._,\ '/ ''', 
r''' `--' `" ''']] 

text = raw_input('Enter text:\n') 
c = map(lambda x: ord(x)-ord('a'),text) 
for i in range(rows): 
    for j in c: 
     print alphabeth[j][i], 
    print ""