- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
graphics_2012chapter3.ppt
getch(); setviewport(20,15,80,80,1); /*重置窗口,窗口之外剪裁*/ rectangle(0,0,60,65); /*画一矩形*/ line(0,0,100,150); /*画直线*/ getch(); closegraph(); } 1、CGA调色板 CGA类屏幕有两种分辨率:低分辨率和高分辨率。 (1)低分辨率低分辨率方式显示320×200个像素点,4种颜色; 例3.14 在不同位置画点 #include graphics.h #include conio.h void main() {int gdriver=DETECT,gmode; int color,i,max; initgraph(gdriver,gmode, ); max=getmaxcolor(); for(i=0;i20;i++) putpixel(50+i*10,20,max); color=getpixel(50,20); putpixel(150,150,color); getch(); closegraph(); } 使用笔画字体,必须装入字体文件。这可通过settextstyle函数来实现。 void far settextstyle(int font, int direction,int charsize); 此函数是设置当前输出文本字体,显示方向和字符大小。函数共有三个参数,其含义如下: ①font:是一个整型数,用来指定所使用字体,见p69表3.10 ②direction:是一个整型数,用来指定文本输出方向,见p71表3.11 ③charsize:是一个整型数,该参数实际上是一个因子,它表示8 × 8点阵字符的放大倍数,既影响点阵字符,也影响笔画字体。 p70表3.12 例 3.19 #include graphics.h #include conio.h void main() { int gdriver,gmode; gdriver=EGA; gmode=EGAHI; initgraph(gdriver,gmode, ); setbkcolor(1); setcolor(4); settextstyle(TRIPLEX_FONT,HORIZ_DIR,2);/*字体、 输出方向、放大倍数*/ outtextxy(10,10,“AAAA”); /*三倍笔画,从左到右显示,放大值为2*/ settextstyle(TRIPLEX_FONT,HORIZ_DIR,7); outtextxy(10,30,“AAAA”); /*三倍笔画,从左到右显示,放大值为7*/ settextstyle(GOTHIC_FONT,HORIZ_DIR,4); outtextxy(10,80,“AAAA”); /*黑体笔画,从左到右显示,放大值为4*/ getch(); closegraph(); } 2.设置文本对齐方式 void far settextjustify(int horiz,int vert); 此函数规定文本输出在水平和垂直方向上的输出方式.参数horiz和vert是整型数, 用来确定文本输出的当前对齐位置。 3.5 图形存取处理 在图形方式下,图形存取有着重要的作用,这也是图形动画的基础。图形存取的基本原理是:把屏幕上某个区域的信息存入一个缓冲区,然后在另一个区域把它的内容显示出来。 一、 检测所需内存 unsigned far imagesize(int x1,int y1, int x2,int y2); 该函数返回一个无符号整数值,它是存储图形所需的字节数。参数x1,y1,x2,y2均为整型数,用来确定要存储的屏幕区域。这个区域是一个矩形,其左上角坐标为(x1、y1),右下角坐标为(x2,y2)。 二、 图形存入内存 void far getimage(int x1,int y1,int x2, int y2,void *bitmap); 该函数将指定区域的图形从屏幕拷贝到内存区域。要复制的屏幕区域由左上角(xl,y1)和右下角(x2,y2)给出,它应当与imagesize函数中参数相同。bitmap是一个void类型指针,需要复制的屏幕区域将保存在由它所指向的数组中。 例如:void *w; unsigned size;
文档评论(0)