社区
C语言
帖子详情
C下面的图形编程,刷新屏幕用哪种方式比较快?
freespider
2003-11-19 12:07:41
C++中可以通过memdc提供速度,c中怎么做呢?
另现在要用c编写图形程序,手边资料不够,请各位推荐一些。
谢谢!
...全文
103
10
打赏
收藏
C下面的图形编程,刷新屏幕用哪种方式比较快?
C++中可以通过memdc提供速度,c中怎么做呢? 另现在要用c编写图形程序,手边资料不够,请各位推荐一些。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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语言和easyx库创建
图形
界面,包括界面创建、按钮设计、鼠标交互和进度条显示,适合初学者
快
速上手。
47、C语言
图形
函数之
图形
窗口、
屏幕
操作
本文详细介绍
图形
窗口操作,包括设定、清除及获取窗口信息,以及
屏幕
操作如激活页、可视页选择,图像复制到内存及从内存送回
屏幕
的方法。通过具体函数解释和实例演示,展示如何利用这些功能实现动态效果和菜单设计。
如何进行
图形
界面和
图形
编程
?
本文介绍了
图形
界面的基本概念,
图形
编程
原理,以及如何在C语言中使用Graphics.h、SDL和OpenGL进行
图形
编程
,包括初始化、窗口创建、
图形
绘制和事件处理等内容。,
屏幕
刷新
率解析与
编程
实现
屏幕
刷新
率关乎显示器每秒更新图像的次数,影响图像平滑度和观看体验。本文介绍了
屏幕
刷新
率的概念,并通过Python(pygame)和C++(SFML)的示例代码,演示了如何在
编程
中控制
屏幕
刷新
率,以实现更流畅的图像显示。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章