自动显示技术.docx

上传人:b****5 文档编号:7287818 上传时间:2023-01-22 格式:DOCX 页数:30 大小:334.70KB
下载 相关 举报
自动显示技术.docx_第1页
第1页 / 共30页
自动显示技术.docx_第2页
第2页 / 共30页
自动显示技术.docx_第3页
第3页 / 共30页
自动显示技术.docx_第4页
第4页 / 共30页
自动显示技术.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

自动显示技术.docx

《自动显示技术.docx》由会员分享,可在线阅读,更多相关《自动显示技术.docx(30页珍藏版)》请在冰豆网上搜索。

自动显示技术.docx

自动显示技术

实验一、计算机显示知识

一、上机实验目的

1.观察计算机显示系统构成,认识彩色显示的相关硬件和软件。

2.了解计算机图形显示过程并学习VGA显示模式设置知识。

3.了解计算机显示器特性和使用,认识计算机图形显示的控制与编程技术知识。

二、实验设备及软件

1.计算机系统1套;

2.测试和应用软件若干;

3.高倍放大镜1个;

4.课程多媒体软件1套;

三、上机实验内容

1.认识计算机显示系统构成结构

A、观察计算机的基本外部构成;

主机和显示器。

B、观察VGA显示器的基本特性;

C、观察VGA显示卡及显示器的显示信号接口。

1、VGA采用模拟接口与显示器相连,极大地提高了VGA的色彩显示能力。

2、VGA的寄存器除了少数几个外都是可读写的,这给编程提供了很大的方便。

3、VGA将其占用存储器的时间减到了最小,使得CPU能以快得多的速度来读写显示存储器。

4、VGA将16色模式的分辨率提高到了640×480,同时VGA新提供了一种具有320×200分辨率、256种颜色的图形模式。

2.认识VGA显示模式

A、认识计算机的字符模式及其基本特点;

计算机的字符模式:

计算机的字符模式也称文本模式,在字符模式下,最基本的操作单元为字符,一屏所能显示字符的行数和列数及字符属性的表示方法即构成了一种具体的字符显示模式。

计算机的字符模式的基本特点:

具有极快的显示速度,但它不能显示图形

B、认识计算机图形模式的种类、表示及其特点和主要特性参数;

计算机图形模式的种类:

普通模式和高级模式

一般表示为:

水平象素数*垂直象素数*色彩模式,如512*480*32K色

特点:

图形模式由各种色素和各种分辨率相组合,但这种组合不完全,在某些色彩模式下不具有某些分辨率。

一定的分辨率有一定的象色素数,一定的色彩模式决定了每个象素在显示存储器中所占用的位数,每种显示模式部有一定的存储需要量。

主要特性参数:

所需显存容量、实际最低配置显存容量

C、学习设置计算机图形模式的方法及相关要点;

第一种图形操作法:

显示存储器的读写

第二种图形操作法:

VGA寄存器的操作

第三种图形操作法:

视频BIOS的中断

3.了解计算机显示系统特性指标及其参数

A、观察并了解Windows下VGA显示卡视频地址空间特性;

B、使用测试软件测试计算机显示特性及其指标;

C、使用应用软件观察显示模式的特性

D、使用课程多媒体教程学习计算机显示部件知识

四、基本实验问题:

1、计算机DOS下的显示模式是多少?

答:

显示模式为字符模式:

80列、25行。

2、当前计算机Windows下的图形显示模式为多少?

答:

1024*76832位真彩75Hz

3、VGA彩色显示器屏幕上象素点的构成方式是怎样的?

答:

CRT图形显示是直接将整个屏幕分成m行,每行分成n个点,每个点称为一个象素。

4、当前计算机VGA显示系统的基本参数是多少?

5、Windows下VGA显示卡视频地址空间是多少?

答:

VGA显示卡视频地址空间:

内存000A0000-000BFFFF

内存E0000000-E7FFFFFF

内存EC000000-ECFFFFFF

端口03B0-03BB

端口03C0-03DF

6、Windows下VGA图形显示模式调节类型有哪些?

如何调节和设定?

答:

VGA图形显示模式调节类型有:

普通模式和高级模式

图形模式

所需显存容量

实际最低配置显

存容量

类型

640×480×16色

150K

256K

普通模式

800×600×16色

235K

256K

普通模式

1024×768×16色

384K

512K

普通模式

1280×1024×16色

640K

1M

高级模式

1600×1200×16色

938K

1M

高级模式

2048×2048×16色

2048K

2M

高级模式

320×200×256色

63K

256K

普通模式

640×400×256色

250K

256K

普通模式

640×480×256色

300K

512K

普通模式

800×600×256色

469K

512K

普通模式

1024×768×256色

768K

1M

普通模式

1280×1024×256色

1280K

2M

高级模式

1600×1200×256色

1875K

2M

高级模式

2048×2048×256色

4096K

4M

高级模式

320×200×32K色

125K

256K

普通模式

512×480×32K色

480K

256K

普通模式

640×480×32K色

600K

1M

普通模式

800×600×32K色

938K

1M

普通模式

1024×768×32K色

1536K

2M

高级模式

1280×1024×32K色

2560K

4M

高级模式

1600×1200×32K色

3750K

4M

高级模式

320×200×64K色

125K

256K

普通模式

512×480×64K色

480K

256K

普通模式

640×480×64K色

600K

1M

普通模式

800×600×64K色

938K

1M

普通模式

1024×768×64K色

1536K

2M

高级模式

1280×1024×64K色

2560K

4M

高级模式

1600×1200×64K色

3750K

4M

高级模式

320×200×16M色

200K

256K

普通模式

640×480×16M色

960K

1M

普通模式

800×600×16M色

1407K

2M

高级模式

1024×768×16M色

2304K

4M

高级模式

1280×1024×16M色

3840K

8M

高级模式

1600×1200×16M色

5625K

8M

高级模式

调节和设置:

(1)在桌面上右键,选择属性,如图所示:

(2)在上图中选择设置,如下图所示,在图中设置屏幕分辨率为1024×768,在颜色质量上选择32位真彩色。

实验二、C语言图形基础知识

一、上机实验目的

1.认识C语言程序中的图形参数和有关图形显示的基础知识;

2.学习C语言各种图形函数和图形命令及其使用。

3.学习并运行图形显示例程,掌握C语言图形编程基本常识。

二、实验设备及软件

1.计算机系统1套;

2.C语言教程软件1套;

3.C语言编程软件1套

4.课程多媒体软件1套;

三、上机实验内容

1.学习教程中有关图形的基本知识

图形模式初始化设置、颜色代码调用、图形显示基本功能等;

2.认识并掌握C语言图形函数及其使用

各种图形的C语言函数,如点、直线、矩形、圆、扇形、椭圆及多边形等;图形函数

的基本表示、含义以及基本应用;

3.初步认识C语言图形函数的编程与运行

在C语言环境下,运行图形程序示例,观察显示结果,分析程序结构和含义,学习C

语言图形函数的编程应用;

4.修改相关程序内容,观察运行结果,总结经验和结论分析。

四、上机实验报告

根据实验内容,在计算机上操作和观察、学习,并围绕上述内容写出实验结论及观察

报告,写出相应的运行程序实例和运行结果,以及修改内容和相应运行结果的变化,分析

其结论原因。

(不少于3个有代表性程序及运行、修改的结论)。

1.源程序:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

inti,maxx,maxy;

/*ourpolygonarray*/

intpoly[8];

/*initializegraphics,localvariables*/

initgraph(&gdriver,&gmode,"c:

\\tc\\bgi

");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)

/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",

grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);

/*terminatewithanerrorcode*/

}

maxx=getmaxx();

maxy=getmaxy();

poly[0]=20;/*1stvertext*/

poly[1]=maxy/2;

poly[2]=maxx-20;/*2nd*/

poly[3]=20;

poly[4]=maxx-50;/*3rd*/

poly[5]=maxy-20;

/*

4thvertex.fillpolyautomatically

closesthepolygon.

*/

poly[6]=maxx/2;

poly[7]=maxy/2;

/*loopthroughthefillpatterns*/

for(i=EMPTY_FILL;i

{

/*setfillpattern*/

setfillstyle(i,getmaxcolor());

/*drawafilledpolygon*/

fillpoly(4,poly);

getch();

}

/*cleanup*/

closegraph();

return0;

}

_

修改后:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

inti,maxx,maxy;

/*ourpolygonarray*/

intpoly[8];

/*initializegraphics,localvariables*/

initgraph(&gdriver,&gmode,"c:

\\tc\\bgi");

 

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)

/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",

grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);

/*terminatewithanerrorcode*/

}

maxx=450;

maxy=320;

poly[0]=30;/*1stvertext*/

poly[1]=maxy/2;

poly[2]=maxx-20;/*2nd*/

poly[3]=20;

poly[4]=maxx-30;/*3rd*/

poly[5]=maxy-20;

/*

4thvertex.fillpolyautomatically

closesthepolygon.

*/

poly[6]=maxx/2;

poly[7]=maxy/2;

/*loopthroughthefillpatterns*/

for(i=EMPTY_FILL;i<3;i++)

{

/*setfillpattern*/

setfillstyle(i,1);

/*drawafilledpolygon*/

fillpoly(4,poly);

getch();

}

/*cleanup*/

closegraph();

return0;

}

_

2.源程序:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmidx,midy;

intstangle=45,endangle=135,radius=100;

/*initializegraphicsandlocalvariables*/

initgraph(&gdriver,&gmode,"c:

\\tc\\bgi");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);/*terminatewithanerrorcode*/

}

midx=getmaxx()/2;

midy=getmaxy()/2;

/*setfillstyleanddrawapieslice*/

setfillstyle(EMPTY_FILL,getmaxcolor());

pieslice(midx,midy,stangle,endangle,radius);

/*cleanup*/

getch();

closegraph();

return0;

}

_

修改后:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmidx,midy;

intstangle=45,endangle=135,radius=100;

/*initializegraphicsandlocalvariables*/

initgraph(&gdriver,&gmode,"c:

\\tc\\bgi");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);/*terminatewithanerrorcode*/

}

midx=100;

midy=200;

/*setfillstyleanddrawapieslice*/

setfillstyle(EMPTY_FILL,getmaxcolor());

pieslice(midx,midy,stangle,endangle,radius);

/*cleanup*/

getch();

closegraph();

return0;

}

_

3.源程序:

#include

#include

intmain()

{

inti,gdriver,gmode,size;

void*buf;

gdriver=DETECT;

initgraph(&gdriver,&gmode,"c:

\\tc\\bgi");

setbkcolor(BLUE);

cleardevice();

setcolor(LIGHTRED);

setlinestyle(0,0,1);

setfillstyle(1,10);

circle(100,200,30);

floodfill(100,200,12);

size=imagesize(69,169,131,231);

buf=malloc(size);

getimage(69,169,131,231,buf);

putimage(500,269,buf,COPY_PUT);

for(i=0;i<185;i++){

putimage(70+i,170,buf,COPY_PUT);

putimage(500-i,170,buf,COPY_PUT);

}

for(i=0;i<185;i++){

putimage(255-i,170,buf,COPY_PUT);

putimage(315+i,170,buf,COPY_PUT);

}

getch();

closegraph();

}

_

修改后:

#include

#include

intmain()

{

inti,gdriver,gmode,size;

void*buf;

gdriver=DETECT;

initgraph(&gdriver,&gmode,"c:

\\tc\\bgi");

setbkcolor(BLUE);

cleardevice();

setcolor(LIGHTRED);

setlinestyle(0,0,1);

setfillstyle(1,10);

circle(300,100,100);

floodfill(100,200,12);

size=imagesize(69,169,131,231);

buf=malloc(size);

getimage(69,169,131,231,buf);

putimage(500,269,buf,COPY_PUT);

for(i=0;i<185;i++){

putimage(70+i,170,buf,COPY_PUT);

putimage(500-i,170,buf,COPY_PUT);

}

for(i=0;i<185;i++){

putimage(255-i,170,buf,COPY_PUT);

putimage(315+i,170,buf,COPY_PUT);

}

getch();

closegraph();

}

_

4.源程序:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmaxx,maxy;

/*initializegraphics,localvariables*/

initgraph(&gdriver,&gmode,"");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)

/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",

grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);

/*terminatewithanerrorcode*/

}

maxx=getmaxx();

maxy=getmaxy();

/*selectdrawingcolor*/

setcolor(getmaxcolor());

/*selectfillcolor*/

setfillstyle(SOLID_FILL,getmaxcolor());

/*drawaborderaroundthescreen*/

rectangle(0,0,maxx,maxy);

/*drawsomecircles*/

circle(maxx/3,maxy/2,50);

circle(maxx/2,20,100);

circle(maxx-20,maxy-50,75);

circle(20,maxy-20,25);

/*waitforakey*/

getch();

/*fillinboundedregion*/

floodfill(2,2,getmaxcolor());

/*cleanup*/

getch();

closegraph();

return0;

}

_

修改后:

#include

#include

#include

#include

intmai

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1