【问题标题】:Text-to-ASCII art generator in PythonPython中的文本到ASCII艺术生成器
【发布时间】:2012-07-08 04:01:24
【问题描述】:

我想在我们开发人员的命令行工具中添加一个复活节彩蛋,如果某个日期匹配,该工具会向其用户致意。基本上,我正在寻找:

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

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

有那个包吗?

Credit where credit is due.

【问题讨论】:

标签: python ascii-art


【解决方案1】:

您在此处链接的 TAAG 应用的作者。 TAAG 中的大多数字体都是 FIGlet 字体 (figlet.org)。 FIGlet 是一个命令行 linux 应用程序,但 FIGlet 驱动程序已用多种语言编写。我在这里发布了我用 JavaScript 编写的驱动程序:

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

虽然这需要移植到 Python 才能工作。我搜索了 FIGlet Python 库,发现了这个:

https://github.com/pwaller/pyfiglet

我不确定它的效果如何,或者它实现了多少规范,但它看起来很完整。

【讨论】:

    【解决方案2】:

    我认为这个问题对于 StackOverflow 来说有点离题,但您可以尝试在 Google 上搜索“ASCII art Python”并获得以下信息:http://www.youtube.com/watch?v=NEWuZfTNoJE

    或者你可以尝试自己做,这里有一个大纲:

    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 ""
    

    【讨论】:

      【解决方案3】:

      这是来自 Python Banner 示例的 ActiveState 的代码 sn-p。 http://code.activestate.com/recipes/577537-banner/

      【讨论】:

      • 谢谢!在启动时让我的小型 Python 终端工具更加炫目。
      【解决方案4】:

      如前所述,您可以使用 pyFiglet 在 python 中创建 ascii 文本。

      例如:

      import pyfiglet
      
      result = pyfiglet.figlet_format("happy birthDay", font = "crazy")
      print(result)
      

      【讨论】:

        猜你喜欢
        • 2012-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-27
        • 1970-01-01
        • 1970-01-01
        • 2011-11-14
        • 2013-06-27
        相关资源
        最近更新 更多