到目前为止,我使用字符在终端中绘制图像、形状等。
是否可以绘制单个像素?
比方说:
foo 1 1 red
这将在坐标处绘制一个红色像素(1, 1)
。
是否有现有的应用程序可以完成这项工作?
目前运行的是 Ubuntu 14.04。
答案1
看看德拉维尔图书馆。它使用 UTF 盲文字符来绘制像素。
像下面这样的东西会设置一个像素:
from drawille import Canvas
c = Canvas()
c.set(10, 10)
print(c.frame())
答案2
答案3
您将无法在终端中绘制单个像素颜色,除非您可以执行以下操作威扎德的提到,自己编程,或者找到一个已经为该工作制作的工具(这可能是特定于终端的)。但是,可以在终端中使用单个字符坐标来使用 ASCII 和 UTF-8 字符绘制 2D 图像。用于此目的的工具称为tput
.该工具的工作原理是根据当前终端的坐标操纵光标位置。以下是功能示例列表tput
:
# tput Cursor Movement Capabilities:
tput cup Y X
# Move cursor to screen location X,Y (top left is 0,0)
tput sc
# Save the cursor position
tput rc
# Restore the cursor position
tput lines
# Output the number of lines of the terminal
tput cols
# Output the number of columns of the terminal
tput cub N
# Move N characters left
tput cuf N
# Move N characters right
tput cuu N
# up N lines
tput cud N
# down N lines
答案4
是的。没有现有的低级 API 支持来干预像素/同样在终端环境中。
然而,这个项目:wttr.in值得特别注意:尝试这些命令并亲自看看!
curl "wttr.in?format=v2"
curl wttr.in
底线
- 在终端应用程序中运行的命令的输出返回字符流(具有定义的字符集)。
- 它们
characters -> pixels
通过字体配置、ANSI 序列和其他应用程序特定设置显示在终端的矩形上。 - 巧妙地探索包括 unicode 字符和表情符号序列在内的字符集;一个人有一些艺术的腿部空间可以扭动。
# Check the raw output as well.
curl "wttr.in?format=v2" > weather-raw.txt