社区
C语言
帖子详情
C下面的图形编程,刷新屏幕用哪种方式比较快?
freespider
2003-11-19 12:07:41
C++中可以通过memdc提供速度,c中怎么做呢?
另现在要用c编写图形程序,手边资料不够,请各位推荐一些。
谢谢!
...全文
50
10
打赏
收藏
C下面的图形编程,刷新屏幕用哪种方式比较快?
C++中可以通过memdc提供速度,c中怎么做呢? 另现在要用c编写图形程序,手边资料不够,请各位推荐一些。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freespider
2003-11-19
打赏
举报
回复
怎么写啊?
Meyer
2003-11-19
打赏
举报
回复
内存拷贝应该比较快了
freespider
2003-11-19
打赏
举报
回复
up
freespider
2003-11-19
打赏
举报
回复
up
zxftdm
2003-11-19
打赏
举报
回复
initscr()
initscr() 是一般 curses 程式必须先呼叫的函数, 一但这个函数
被呼叫之後, 系统将根据终端机的形态并启动 curses 模式.
□ endwin()
curses 通常以呼叫 endwin() 来结束程式. endwin() 可用来关闭
curses 模式, 或是暂时的跳离 curses 模式.如果您在程式中须要
call shell ( 如呼叫 system() 函式 ) 或是需要做 system call,
就必须先以 endwin() 暂时跳离 curses 模式. 最後再以
wrefresh() doupdate() 来重返 curses 模式.
□ cbreak()
nocbreak()
当 cbreak 模式被开启後, 除了 DELETE 或 CTRL 等仍被视为特殊
控制字元外一切输入的字元将立刻被一一读取.当处於 nocbreak 模
式时, 从键盘输入的字元将被储存在 buffer 里直到输入 RETURN
或 NEWLINE.在较旧版的 curses 须呼叫 crmode(),nocrmode() 来
取代 cbreak(),nocbreak()
□ nl()
nonl()
用来决定当输入资料时, 按下 RETURN 键是否被对应为 NEWLINE 字
元 ( 如 \n ).
而输出资料时, NEWLINE 字元是否被对应为 RETURN 和 LINDFEED
系统预设是开启的.
□ echo()
noecho()
此函式用来控制从键盘输入字元时是否将字元显示在终端机上.系统
预设是开启的.
□ intrflush(win,bf)
呼叫 intrflush 时须传入两个值:
win 为一 WINDOW 型态指标, 通常传入标准输出入萤幕 stdscr
bf 为 TRUE 或 FALSE
当 bf 为 true 时, 当输入中断字元 ( 如 break) 时, 中断的反应
将较为快速.但可能会造成萤幕的错乱.
□ keypad(win,bf)
呼叫 keypad 时须传入两个值:
win 为一 WINDOW 型态指标, 通常传入标准输出入萤幕 stdscr
bf 为 TRUE 或 FALSE
当开启 keypad 後, 可以使用键盘上的一些特殊字元, 如上下左右
等方向键, curses 会将这些特殊字元转换成 curses.h 内定义的一
些特殊键. 这些定义的特殊键通常以 KEY_ 开头.
□ refresh()
refresh() 为 curses 最常呼叫的一个函式.
curses 为了使萤幕输出入达最佳化, 当您呼叫萤幕输出函式企图改
变萤幕上的画面时, curses 并不会立刻对萤幕做改变, 而是等到
refresh() 呼叫後, 才将刚才所做的变动一次完成. 其馀的资料将
维持不变. 以尽可能送最少的字元至萤幕上. 减少萤幕重绘的时间.
如果是 initscr() 後第一次呼叫 refresh(), curses 将做清除萤
幕的工作.
■ 游标的控制
move(y,x) 将游标移动至 x,y 的位置
getyx(win,y,x) 得到目前游标的位置
(请注意! 是 y,x 而不是 &y,&x )
■ 有关清除萤幕的函式
clear()
erase() 将整个萤幕清除
(请注意配合refresh() 使用)
■ 如何在萤幕上显示字元
echochar(ch) 显示某个字元
addch(ch) 显示某个字元
mvaddch(y,x,ch) 在(x,y) 上显示某个字元
相当於呼叫 move(y,x);addch(ch);
addstr(str) 显示一串字串
mvaddstr(y,x,str) 在(x,y) 上显示一串字串
相当於呼叫 move(y,x);addstr(str);
printw(format,str) 类似 printf() , 以一定的格式输出至萤幕
mvprintw(y,x,format,str) 在(x,y) 位置上做 printw 的工作.
相当於呼叫 move(y,x);printw(format,str);
■ 如何从键盘上读取字元
getch() 从键盘读取一个字元 (注意! 传回的是
整数值)
getstr() 从键盘读取一串字元
scanw(format,&arg1,&arg2...) 如同 scanf, 从键盘读取一串字元
□例:
int ch;
char string1[80]; /* 请注意! 不可宣告为 char *string1; */
char string2[80];
echo(); /* 开启 echo 模式, 使输入立刻显示在萤幕上 */
ch=getch();
string1=getstr();
scanw("%s",string2);
mvprintw(10,10,"String1=%s",string1);
mvprintw(11,10,"String2=%s",string2);
■ 如何利用方向键
curses 将一些如方向键等特殊控制字元, 以 KEY_ 为开头定义在 curses.h
这个档案里头, 如 KEY_UP 即代表方向键的 " ↑ ". 但, 如果您想使用
curses.h 所为您定义的这些特殊键的话, 您就必须将 keypad 设定为
TRUE. 否则, 您就必须自己为所有的特殊键定义了.
curses.h 为一些特殊键的定义如下:
KEY_UP 0403 ↑
KEY_DOWN 0402 ↓
KEY_LEFT 0404 ←
KEY_RIGHT 0405 →
KEY_HOME 0406 Home key (upward+left arrow)
KEY_BACKSPACE 0407 backspace (unreliable)
KEY_F0 0410 Function keys.
KEY_F(n) (KEY_F0+(n)) formula for f .
KEY_NPAGE 0522 Next page
KEY_PPAGE 0523 Previous page
zxftdm
2003-11-19
打赏
举报
回复
refresh() 为 curses 最常呼叫的一个函式.
curses 为了使萤幕输出入达最佳化, 当您呼叫萤幕输出函式企图改变萤幕上的画面时, curses 并不会立刻对萤幕做改变, 而是等到refresh() 呼叫後, 才将刚才所做的变动一次完成. 其馀的资料将维持不变. 以尽可能送最少的字元至萤幕上. 减少萤幕重绘的时间.如果是 initscr() 後第一次呼叫 refresh(), curses 将做清除萤幕的工作.
freespider
2003-11-19
打赏
举报
回复
up
catowl
2003-11-19
打赏
举报
回复
UP
极速小王子
2003-11-19
打赏
举报
回复
不知道!
freespider
2003-11-19
打赏
举报
回复
up
C语言
图形
编程
技术 C语言
图形
编程
技术
### C语言
图形
编程
技术 #### 一、概述 C语言作为一种功能强大且灵活的
编程
语言,在
图形
编程
领域也有着广泛的应用。特别是在早期的DOS环境下,C语言成为了开发
图形
界面程序的重要工具。本文将详细介绍如何利用Turbo...
C语言获取
屏幕
刷新
率
下面
将详细阐述如何通过C语言来获取
屏幕
的
刷新
率。 首先,我们需要理解
屏幕
刷新
率的原理。
屏幕
刷新
率是显示器内部电子枪扫描
屏幕
的速度,决定了画面的稳定性。较高的
刷新
率可以提供更流畅的视觉体验,尤其是在游戏...
C语言
图形
编程
说明文档附代码
C语言
图形
编程
是一种将计算机
编程
与视觉艺术相结合的技术,它允许程序员使用C语言来创建
图形
用户界面、绘制图像、甚至制作动画。C语言虽然不是专为
图形
设计而生,但通过利用特定库如SDL(Simple DirectMedia Layer)...
图形
学c语言绘图工具
编程
C语言作为一门强大而灵活的
编程
语言,虽然它不是专门用于
图形
学的,但通过使用特定库和
编程
技巧,我们可以利用C语言来创建自己的绘图工具。本主题主要探讨的是如何用C语言实现
图形
学中的绘图功能,包括画线、三角...
C语言
图形
编程
- **创建简单的应用程序**:例如,一个计算器或图片浏览器,通过实际操作加深对C语言
图形
编程
的理解。 - **参与开源项目**:加入开源社区,参与
图形
界面相关的项目,从中学习和提升。 通过学习以上知识点,你可以...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章