第12章C作图与图形处理课题.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 可见,口地址0x3c5对应着哪个寄存器,是由索引寄存器(口地址:0x3c4)中的索引值决定的。 当索引值为2时,表示选择了颜色位面写允许寄存器,故要用下面代码先选择颜色位面写允许寄存器: outportb(0x3c4, 2); * * 核心代码: char far *p; int k=1; fp = fopen(pic.dat,“rb); outportb(0x3c4, 2); //选择“颜色位面写允许寄存器” for(i = 0; i 4; i++) { outportb(0x3c5, k); //选择位面i ,k=2i p = (char far*)0xa0000000L; //p指向显存开头 for(j = 0; j 38400L; j++) { *p=fgetc(fp); p++; } k*=2; } * * 例12-4:用直接读写VRAM的方法实现图像的存储和回放 代码参阅教材 * * 实 训 5、利用动画技术在屏幕上模拟两个小球的相向运动,碰撞后分开,到达边缘后改变方向继续相向运动…… 6、利用动画技术模拟乒乓球在桌面上不断跳动直至静止的过程。说明: 小球运动过程中,速度是变化的 小球每次弹起的高度是递减的,直至0 7、利用直接写VRAM的方法将屏幕第x行第y列的像素改成红色(行列均从0开始计数),其余像素颜色不变。 * * 3、void settextstyle(int font, int derection,char size); 功能:设置文本的字体、字号和输出方向 说明:先设置,再输出文本 其中: font取值有5种(0,1,2,3,4),代表5种字体 derection取值有0和1,分别代表横向和竖向 size取值是整数,决定着文字的大小,数值越大字体越大 实训:运行txtstyle.c,然后随意修改三个参数,观察运行效果 ABC * * 4、void settextjustify(int horiz, int vert); 功能:设置文本输出的对齐方式 说明:先设置,再输出文本 其中: horiz取值有3种:0,1,2 0:以指定的横坐标作为输出文本的左边界 1:以指定的横坐标作为输出文本的中心点 2:以指定的横坐标作为输出文本的右边界 vert取值有3种:0,1,2 0:以指定的纵坐标作为输出文本的下边界 1:以指定的纵坐标作为输出文本的中心线 2:以指定的纵坐标作为输出文本的上边界 settextjustify(0,0); outtextxy(200,200,”ABC”); ABC settextjustify(1,2); outtextxy(200,200,”ABC”); ABC * * 实 训 1、画一条正弦曲线(一个周期) 2、在屏幕上模拟满天星、时明时灭的效果 3、分别画一个圆、椭圆、矩形、条形图、扇形图、三维条形图,并用不同颜色填充 4、键盘输入10名学生的成绩(三科),画出总分前三名的直方图,用圆饼图画出平均分在各分数段的比例(不及格、60-69,70-79,80-89,90-100),图形中要有图例。 * * 第五节 屏幕操作函数及动画知识 常用的屏幕操作函数 动画设计的方法 动画举例 * * 一、 屏幕操作函数 屏幕操作函数 void getimage(int x1,int y1,int x2,int y2,void *bitmap); unsigned imagesize(int x1, int y1, int x2, int y2); void putimage(int x1, int y1, void *bitmap, int op); void setviewport(int x1,int y1,int x2,int y2,int clipflag); void clearviewport(); * * 一、 屏幕操作函数 保存图像函数: void getimage(int x1,int y1,int x2,int y2,void *bitmap) 功能: 将矩形区域内的图像保存到bitmap所指的内存中 参数说明 (x1,y1):为矩形区域的左上角 (x2,y2):为矩形区域右下角 bitmap:事先开辟的用来保存图像的内存的首地址 * * 一、 屏幕操作函数 测定保存图像所需内存大小的函数 unsigned imagesize(int x1, int y1, int x2, int y2) 功能: 返回保存矩形区域内的图像所需的字节数 参数说明 (x1,y1):为矩形区域左上角 (x2,y2):为

文档评论(0)

***** + 关注
实名认证
文档贡献者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档