asciimatics:创建交互式表单到 ASCII 动画
Asciimatics 是一个软件包,可帮助人们在任何平台上创建全屏文本 UI(从交互式表单到 ASCII 动画)。
为什么?
----
为什么不呢?它给任何在80年代从事编程工作的人带来了一丝乐趣…… 哦,而且它提供了一个单一的跨平台Python类,可实现你所需的所有低级控制台功能,包括:
带颜色/样式的文本 - 包括256色终端和Unicode字符(甚至是中文、日文、韩文等语言)
光标定位
键盘输入(无阻塞或回显),包括Unicode支持
鼠标输入(在终端允许的情况下)
检测并处理控制台窗口大小调整
屏幕抓取
此外,它还提供了一些简单的高级应用程序编程接口(API),以实现更复杂的功能,包括:
- 抗锯齿ASCII线条绘制
- 图像转ASCII - 包括JPEG和GIF格式
- 多种动画效果 - 例如精灵动画、粒子系统、横幅等
- 用于文本用户界面(UI)的各种组件 - 例如按钮、文本框、单选按钮等。
目前,该软件包已被证实可在CentOS 6和7、Raspbian(即Debian wheezy)、Ubuntu 14.04、Windows 7、8和10、OSX 10.11以及Android Marshmallow(借助https://termux.com)上运行,尽管它也应该适用于任何其他提供可用curses实现的平台。
它应该与具体实现无关,并且已在CPython和PyPy2上成功测试。
(如果你在其他平台上成功验证了它,请告诉我,以便我更新此列表。)
为啥呢?
----
为啥不呢?它能给上世纪80年代就搞编程的人带来点乐趣…… 而且,它有个跨平台的Python类,能实现各种底层的控制台功能,像下面这些:
带颜色、有样式的文字 - 支持256色终端,还有Unicode字符(中文、日文、韩文这些都没问题)
光标定位
键盘输入(不卡顿,也不会回显),还支持Unicode
鼠标输入(前提是终端允许)
检测并处理控制台窗口大小变化
屏幕抓取
除此之外,它还有些简单好用的高级编程接口,能实现更复杂的功能,比如:
- 抗锯齿的ASCII线条绘制
- 图像转ASCII - 像JPEG和GIF格式的图片都能转
- 好多动画效果 - 像精灵动画、粒子系统、横幅展示这些
- 文本用户界面的各种组件 - 比如按钮、文本框、单选按钮之类的。
目前已经验证这个软件包在CentOS 6和7、Raspbian(也就是Debian wheezy)、Ubuntu 14.04、Windows 7、8和10、OSX 10.11以及Android Marshmallow(借助https://termux.com这个平台)上都能用,其实只要哪个平台有能用的curses,它应该就能在上面运行。
这个软件包跟具体怎么实现没关系,在CPython和PyPy2上都测试通过了。
https://github.com/peterbrittain/asciimatics