在控制台应用程序中,可以使用ascii微调器,如GUI等待光标,以指示正在完成工作.一个普通的微调器循环遍历这4个字符:'|','/',' - ','\'
什么是其他一些循环动画序列来为控制台应用程序增添趣味?
user-interface console-application throbber ascii-art progress-indicator
这个主题不时出现在SO上,但通常是因为写得不好的问题而被删除.我看到很多这样的问题,然后在请求附加信息时从OP(通常的低代表)中沉默.如果输入对我来说足够好,我决定回答一个问题,它通常会在活动时每天获得一些投票,但几周之后问题就会被删除/删除,并且所有问题都从一开始就开始.所以我决定写这个Q&A所以我可以直接引用这些问题,而不会一遍又一遍地重写答案......
另一个原因也是这个META线程针对我,所以如果你有额外的输入随意评论.
如何使用C++将位图图像转换为ASCII艺术?
一些限制:
这是一个相关的Wiki页面ASCII艺术(感谢@RogerRowland)
有一些很好的免费"图像到ASCII艺术"转换网站,如下所示:ASCII-art.org
这种图像转换算法如何工作?
,
. W ,
W W @
W ,W W
, W, :W* .W .
# WW @WW WW #
W WW.WWW WW: W
W. WW*WWW# WW@ W
* :WW.WWWWWWW@WWW@W #
+* #WW#WWWWWWWWWWWWW# W
W# @WWWWWWWWWWWWWWWWW W
WW WWWWWWWWWWWWWWWWWW W
WW WWWWWWWWWWWWWWWWWW@W#
,WW.WWWWWWWWWWWWWWWWWWWWW
WW@WWWWWWWWWWWWWWWWWWWWW
: WWWWWWWWWWWWWWWWWWWWWWWW :
@ WWWWWWWW@WWWWWWW@@WWWWWW.
W*WWWWWW::::@WWW:::::#WWWWW
WWWWWW@:: :+*:. ::@WWWW
WWWWW@:*:.:: .,.:.:WWWW
@WWWW#:.:::. .:: #:@WWW
:WWW@:#. :: :WWWW:@WWWW
WWW#*:W@*@W . W:#WWW
#WWWW:@ :: :: *WWWW
W@WW*W .::,.::::,:+ @@WW#,
WWWW## ,,.: .:::.: . .WWW:,
@WWW@: … 我该怎么做才能使它像在Web浏览器中的HTML文档中一样打印?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Example</title>
</head>
<body>
###### # # ## # # ##### # ######
# # # # # ## ## # # # #
##### ## # # # ## # # # # #####
# ## ###### # # ##### # #
# # # # # # # # # #
###### # # # # # # # ###### ######
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
得到:
#### ####### ####### …
前段时间我偶然发现了一个C++ gem,一组通过运算符重载和可能的预处理器技巧的类,让你使用代码中的ASCII艺术来定义变量:
Line x = |-----|; //x is 5
Line y = |---|; //y is 3
Rectangle r = +---+
| |
+---+; //r is 3 by 1
Run Code Online (Sandbox Code Playgroud)
和IIRC,它甚至支持3D数字!
但是对于我的生活,我不记得这个库/头文件/类集的名称.这叫什么?
我需要将数据作为表输出到控制台.我想知道是否有一些java库可以处理ASCII艺术中的绘图表,对齐单元格内的值等等?
?????????????????????????????
? ID ? Name ? Age ?
?????????????????????????????
? 1 ? John ? 24 ?
?????????????????????????????
? 2 ? Jeff ? 19 ?
?????????????????????????????
? 3 ? Joel ? 42 ?
?????????????????????????????
Run Code Online (Sandbox Code Playgroud) 所以..这是(无论如何)这个程序最重要的特征.我需要这个工作.请不要笑..(好吧你可以笑)但是当我的程序出错时,我想让它显示出来:
_ _,---._
,-',' `-.___
/-;' `._
/\/ ._ _,'o \
( /\ _,--'\,','"`. )
|\ ,'o \' //\
| \ / ,--'""`-.
: \_ _/ ,-' `-._
\ `--' / )
`. \`._ ,' ________,','
.--` ,' ,--` __\___,;'
\`.,-- ,' ,`_)--' /`.,'
\( ; | | ) (`-/
`--'| |) |-/
| | | | |
| | |,.,-. | |_
| `./ / )---` )
_| / ,', ,-'
,'|_( /-<._,' |--,
| `--'---. \/ \
| …Run Code Online (Sandbox Code Playgroud) 我看到Neo4j API非常巧妙地使用了它的API:
http://jaxenter.com/getting-started-with-neo4j-the-java-graph-database-47955.html
我想尝试类似的东西,但使用ASCI Art to HTML.如何解析ASCII艺术,例如,给定ASCII艺术输入,例如:
--------------------------------
I I
I ------- ------- I
I I I I I I
I I A I I B I I
I I I I I I
I ------- ------- I
I I
I I
--------------------------------
Run Code Online (Sandbox Code Playgroud)
:可能导致HTML输出类似于:
<div>
<div style='display:inline;'>
A
</div>
<div style='display:inline;'>
B
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是封闭的,因为我需要"证明对正在解决的问题的最小理解".我确实理解要解决的问题.问题是我想要解决的是在以下Web框架的源代码中更容易理解模板化HTML:
https://github.com/zubairq/coils
:虽然该解决方案可以应用于任何Web框架.我已经看到有人试图在C++中创建一个初始版本:
https://github.com/h3nr1x/asciidivs2html/blob/master/asciidivs2html.cpp
: 非常令人印象深刻!如果你能在Java或Clojure中使用它,那么如果我们可以重新打开这个问题,我将提名一个赏金,这样你就可以获得更多积分来解决问题:)
我运行了@meewok提供的Java解决方案,结果如下:
$ java AsciiToDIVs.RunConverter
Created a box(ID=0,X=0,Y=0,width=33,height=10)
Created a box(ID=1,X=2,Y=4,width=8,height=5,parent=0)
Created a char(Char=A,X=4,Y=7,parent=1)
Created a box(ID=2,X=2,Y=21,width=8,height=5,parent=0)
Created a char(Char=B,X=4,Y=24,parent=2) …Run Code Online (Sandbox Code Playgroud) 我希望它显示像这个令人敬畏的Linux命令的非闪烁动画; sl
http://www.youtube.com/watch?v=9GyMZKWjcYU
我会很感激一个小而愚蠢的例子......一只苍蝇.
谢谢!
我正在使用optparse模块创建一个shell脚本,jut是为了好玩,所以我想打印一个漂亮的ascii绘图来代替描述.
原来这个代码:
parser = optparse.OptionParser(
prog='./spill.py',
description=u'''
/ \
vvvvvvv /|__/|
I /O,O |
I /_____ | /|/|
J|/^ ^ ^ \ | /00 | _//|
|^ ^ ^ ^ |W| |/^^\ | /oo |
\m___m__|_| \m_m_| \mm_|
''',
epilog='''
Las cucarachas lograron con exito su plan, echando a los pestilentes sangre caliente de sus cajas de cemento.
Ahora el hombre es una especie errante en el espacio, un vagabundo errante en las estrellas.''')
Run Code Online (Sandbox Code Playgroud)
渲染如下:
$ ./bin/spill.py -h
Usage: ./spill.py …Run Code Online (Sandbox Code Playgroud)