以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- C语言图形编程[分享] (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=56727) |
-- 作者:一分之千 -- 发布时间:12/13/2007 6:32:00 PM -- C语言图形编程[分享] 编写程序绘图经常要用到对字符屏幕进行操作。例如,在往屏幕上写字符之前,首先要将屏幕清除干净。又如,有时需要在屏幕上多处写上肉中刺样的字符内容,这时最好用屏幕拷贝来高效率地完成这一任务。对这些操作,Borland C++提供了一系列字符屏幕操作函数来实现。 1. clrscr()清除字符窗口函数 2. window()字符窗口函数 3. gotoxy()光标定位函数 main() 4. clreol() 清除光标行尾字符函数 5. insline() 插入空行函数 6. delline() 删除一行函数 7.gettext() 拷进文字函数 8. puttext() 拷出文字函数 9. movetext() 移动文字函数 10. textmode() 文本模式函数 表1-2 文本模式 BW40 0 40列黑白 调用该函数后,屏幕复位,并且所有字符的属性恢复其缺省值。 11. highvideo()高亮度函数 12. lowvideo() 低亮度函数 13. normvideo(void); 14. textcolor() 文本颜色函数 表1-3 颜色名与等价值 textcolor()函数执行后,只影响其后输出探险符颜色,而不改变已经在当前屏幕上的其它字符颜色。显然,如果需要输出的字符闪烁,只要将函数中参数color取为BLINK即可,如果要使字符带颜色闪烁,就必须将所选的颜色值与128作“或”运算。 15. textattr() 文本属性函数 16.textbackground() 文本背景函数 调用该函数只影响后续写的字符背景颜色,而不改变当前显示在屏幕上的字符背景颜色。 17. wherex() 光标处x坐标函数 18. wherey() 光标处y坐标函数 19. gettextinfo() 获取文本窗口信息函数 |
-- 作者:一分之千 -- 发布时间:12/13/2007 6:33:00 PM -- C语言图形编程(二、图形显示) 作者:未知 来源:未知 加入时间:2004-7-20 天新软件园 一、确定显示卡 二、选择显示模式 三、图形显示 20. detectgraph() 显示卡检测函数 21. initgraph() 图形初始化函数 22. getdrivername() 获取图形驱动程序名的指针 23. getgraphmode() 获取图形模式函数 24. getmoderange()获取模式值范围函数 25. getmaxmode()获取最大显示模式函数 26. getmodename()获取显示模式名函数 27. graphdefaults()图形设置复位缺省值函数 28. setgraphmode() 设置图形模式函数 29. restorecrtmode() 恢复文本显示模式函数 30. graphresult() 图形操作结果函数 31. grpaherrormsg() 图形错误信息函数 32. setgraphbufsize()设置图形缓冲区大小函数 33. setactivepage() 设置可输出显示页函数 34. setvisualpage() 设置可见显示页数 35. closegraph()关闭图形模式函数
二、选择显示模式 三、图形显示 20. detectgraph() 显示卡检测函数 21. initgraph() 图形初始化函数 注:在现在的计算机中,上表中的许多显示卡已经过时,不再使用。 这样就不必担心图形驱动程序的准确名字,而只要用其等价值即可,若使用detect(即等价值0)时,initgraph()函数自动检测当前计算机中装有的显示卡类型,并且选用最大分辨率的显示模式。 22. getdrivername() 获取图形驱动程序名的指针 23. getgraphmode() 获取图形模式函数 24. getmoderange()获取模式值范围函数 该函数想应的头文件为graphics.h 25. getmaxmode()获取最大显示模式函数 26. getmodename()获取显示模式名函数 27. graphdefaults()图形设置复位缺省值函数 28. setgraphmode() 设置图形模式函数 29. restorecrtmode() 恢复文本显示模式函数 30. graphresult() 图形操作结果函数 31. grpaherrormsg() 图形错误信息函数 32. setgraphbufsize()设置图形缓冲区大小函数 33. setactivepage() 设置可输出显示页函数 34. setvisualpage() 设置可见显示页数 35. closegraph()关闭图形模式函数 |
-- 作者:一分之千 -- 发布时间:12/13/2007 6:33:00 PM -- C语言图形编程(三、绘图函数-01) 作者:未知 来源:未知 加入时间:2004-7-20 天新软件园 一、屏幕和视口设置与清除函数 36. setviewport() 设置图形视口函数 37. clearviewport()清除图形视口函数 38. cleardevice() 清除屏幕函数 39. getviewsettings() 获取图形视口设置函数 二、调色板和颜色函数 40. setpalette()设置调色板函数 41. setallpalette()设置整个调色板函 42. setbackcolor() 设置背景颜色函数 43. setcolor() 设置颜色函数 44. getbkcolor() 返回背景色函数 45. getcolor() 返回当前绘图颜色 46. getmaxcolor()返回最大颜色值函数 47. getpalette() 获取调色板函数 48. getpalettesize() 返回调色板大小函数 49. getdefaultpalette() 获取缺省调色板函数 三、屏幕位置函数 50. getmaxx()返回最大x坐标函数 51. getmaxy() 返回最大y坐标函数 52. getx() 返回x坐标函数 53. gety() 返回y坐标函数 54. moveto()函数 55. moverel() 相对移动函数 ---------------------------------------------------- 一、屏幕和视口设置与清除函数 36. setviewport() 设置图形视口函数 37. clearviewport()清除图形视口函数 38. cleardevice() 清除屏幕函数 39. getviewsettings() 获取图形视口设置函数 40. setpalette()设置调色板函数 表1-7 预先定义的调色板与色彩 41. setallpalette()设置整个调色板函数 42. setbackcolor() 设置背景颜色函数 表1-8 背景颜色值 43. setcolor() 设置颜色函数 44. getbkcolor() 返回背景色函数 45. getcolor() 返回当前绘图颜色 46. getmaxcolor()返回最大颜色值函数 47. getpalette() 获取调色板函数 --------------------------------------------------- 返回值: 无 48. getpalettesize() 返回调色板大小函数 49. getdefaultpalette() 获取缺省调色板函数 50. getmaxx()返回最大x坐标函数 51. getmaxy() 返回最大y坐标函数 52. getx() 返回x坐标函数 53. gety() 返回y坐标函数 54. moveto()函数 55. moverel() 相对移动函数
|
-- 作者:一分之千 -- 发布时间:12/13/2007 6:34:00 PM -- C语言图形编程(三、绘图函数-02) B 作者:未知 来源:未知 加入时间:2004-7-20 天新软件园 71. ellipse()画椭圆弧函数 功能: 函数ellipse()使用当前绘图色画一椭圆弧。 用法: 该函数调用方式为void ellipse(int x,int y,int startangle,int endangle, int xradius,int yradius); 说明: 参数x,y为椭圆中心坐标,startangle和endangle为给定的起始角和终止角,xradius与yradius为椭圆的x轴半径与y轴半径,如果startangle为0 ,endangle等于360度,那么画出的是个完整的椭圆。ellipse()函数不同于arc()和circle()函数,屏显纵横比不能自动调节。若需要的是成比例的半径而不是特定的像素距离,则y轴距离必须调节为yradius*aspectratio(y轴半径乘以纵横比)。 此函数对应的头文件为graphics.h 返回值: 无 例: 在屏幕上画一个鸡蛋形的椭圆。 #include<graphics.h> void main() { int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,""); ellipse(200,100,0,360,80,40); getch(); restorecrtmode(); } 72. fillellipse() 画椭圆区函数 73. pieslice() 画扇区函数 75. getarccoords()获取圆弧坐标函数 (五)、 填充函数 76. setfillstyle() 设置填充图样和颜色函数 表1-12 填充图样 除了EMPTy_FILL,所有填充图样都使用当前填充色,填充图样USER_FILL只有在用函数setfillpattern()已经建立一个用户定义的填充图样后才能使用。 77. setfillpattern() 设置用户图样函数 78. floodfill() 填充闭域函数 79. fillpoly() 填充多边形函数 80. getfillsettings() 获取填充设置函数 81. getfillpattern() 获取用户图样设置函数 82. imagesize() 图像存储大小函数 83. getimage() 保存图像函数 84. putimage() 输出图像函数 表1-13 图像输出方式 1) COPy_PUT输出方式 |
-- 作者:一分之千 -- 发布时间:12/13/2007 6:34:00 PM -- C语言图形编程(四、图形文本-01) 作者:未知 来源:未知 加入时间:2004-7-20 天新软件园 一、图形文本函数 85. outtext() 当前位置显示字符串函数 86. outtextxy() 在(x,y)处显示字符串函数 87. sprintf() 格式化输出函数 二、图形文本设置 88. settextstyle() 设置文本型式函数 89. settextjustify() 设置文本排齐函数 90. setusercharsize() 设置用户字符比例函数 91. gettextsettings() 获取文本设置函数 92. textheight() 文本高度函数 93. textwidth() 文本宽度函数
一、图形文本函数 85. outtext() 当前位置显示字符串函数 86. outtextxy() 在(x,y)处显示字符串函数 87. sprintf() 格式化输出函数 88. settextstyle() 设置文本型式函数 表1-14 图形文本标准字体 在设置字体之前,被选字体的.CHR文件必须装在initgraph()中指定的driverpath(驱动程序路径)目录或子目录里。 表 1-15 图形文本显示方向 在垂直显示时,文本字符串从底部向上显示,目前还没有现成的规定从上到下或从左到右的显示,但若需要也可设计。 89. settextjustify() 设置文本排齐函数 表 1-16 图形文本排列方式 对于水平方向排齐,若取LEFT_TExT,则文本左边不敢当前位置CP对齐,向右显示文本字符串。若取CENTER_TExT,则文本字符串的中心与当前位置CP对准显示,若取RIGHT_TExT,则文本右边与当前位置CP对齐,向左显示文本字符串。至于垂直方向排齐BOTTOM_TExT,是文本字符串的底线与当前位置CP对准。CENTER_TExT是文本字符串的中线与CP对上,TOP_TExT是文本字符串的顶线过CP,缺省值为水平方向文本排齐方式LEFT_TExT以及垂直方向文本排齐方式TOP_TExT。 91. gettextsettings() 获取文本设置函数 变量charsize的值是确定输出字符大小的系数,在0到10之间选取。 符号名 值 说 明 另见settextjustify()函数的说明部分。 92. textheight() 文本高度函数 93. textwidth() 文本宽度函数 下面的程序可以绘出如下三个图形: int graphdriver,graphmode; void main() void roundshell() // 画贝壳图 void snail() // 画蜗牛图 // 下面语句的注释见画贝壳函数roundshell()中相应的说明 x=rs*cos((Pi-theta)*0.017453); void ammonite() // 画菊石图 |
-- 作者:acherry -- 发布时间:12/31/2007 10:47:00 AM -- 有用win API图形编程的示例就更好了 |
-- 作者:ppfeng123 -- 发布时间:3/27/2008 2:56:00 PM -- 顶下 |
-- 作者:卷积内核 -- 发布时间:3/31/2008 8:59:00 AM -- 谢谢分享~~~ |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
265.625ms |