nCurses属于字符图形库,那和GUI的实质差别在哪里?
Vim和emacs都是全屏编辑器,可以控制整个屏幕,而且两者都用了nCurses的函数库。查了一下nCurses的资料,它可以帮助程序在整个屏幕上绘图,很多人都说这种图形和Turbo C的差不多。
我很迷惑的是,为什么都说基于nCurses的程序仍然属于字符界面,而不称作是GUI,而基于Xlib的Gdk,以及之上的Gnome就属于货真价实的图形界面。当然,nCurses的东西比较简单,正如Turbo C画出的菜单窗口都很简陋。但是似乎也是一种图行程序,和X window一样,也要使用显卡完成,背后必然也要驱动显卡工作。看到有人说GUI还应该有用户操作鼠标、拖放窗口等交互动作,我记得Turbo C++里面也支持鼠标的,一样可以进行操作,那自然也能捕捉事件,进行相应的绘图操作,反正终究不过是驱动显卡完成图形绘制和刷新而已。Xlib大概就是一个底层封装,在此之上可以进行进一步的封装,如Gdk,再提供给各种程序用(Gnome),而nCurses已经是一个直接用来绘图的库了,功能比较简陋而已。那么究竟两者有什么本质区别,谁来告诉我。
我甚至都觉得,字符模式(文本模式)和图形也没根本区别,无非是如何驱动显卡工作而已,文本的比较简单,只要告诉显卡屏幕分辨率,分成几行几列,并在显示缓冲区更新需要显示的内容就可以了,算是显示器能显示的最原始最简单的方式了。像nCurses,也就是Vim这种东西,能控制整个屏幕甚至划分区域,也可以算是货真价实图形界面了吧。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
ncurses不能画图的大哥,,只是用字符拼出来的,
在网上搜出这么一段话。。。。
CLI - Typing commands and editing files manually, fun, thought-provoking and often leads to troubleshooting
TUI - Characterized by the /sbin/yast text-based UI, often using the NCurses library, it’s a text version of a GUI, as it were, and YaST in the TUI mode matches screen for screen with the GUI mode
GUI - Characterized by the /sbin/yast2 X11 GUI interface, it’s run in X, is visually pleasing and very easy for people to understand and use
ncurses和Vi应该是TUI一类的,其实也就是简化的GUI而已,感觉已经不属于字符界面了。就像DOS的CMD是CLI的,输入Edit就变成TUI,Shell是CLI,进入Vi也变成TUI了。看来纯粹在文本界面下工作已经不太现实了,无论如何也要用到图形界面的。
原理都是一样的了,都是要绘制到显存中去的。
只不过图像环境带有图形库,色彩也支持的多,文本环境色彩要少好多吧
我晕 你用下就知道有什么区别了
还没有人回答呀。。。谁来解释一下文本和图形界面的一些原理吧。