图形处理与多媒体应用.docx

上传人:b****8 文档编号:29652068 上传时间:2023-07-25 格式:DOCX 页数:16 大小:31.67KB
下载 相关 举报
图形处理与多媒体应用.docx_第1页
第1页 / 共16页
图形处理与多媒体应用.docx_第2页
第2页 / 共16页
图形处理与多媒体应用.docx_第3页
第3页 / 共16页
图形处理与多媒体应用.docx_第4页
第4页 / 共16页
图形处理与多媒体应用.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

图形处理与多媒体应用.docx

《图形处理与多媒体应用.docx》由会员分享,可在线阅读,更多相关《图形处理与多媒体应用.docx(16页珍藏版)》请在冰豆网上搜索。

图形处理与多媒体应用.docx

图形处理与多媒体应用

第8章图形处理与多媒体应用

8.1学习要点与必备知识

【学习要点】

·多媒体及多媒体控件使用。

·图形控件的使用。

·常用的绘图方法。

·简单动画的实现方法。

【必备知识】

1.多媒体及控件

多媒体概念、多媒体控件MultimediaMCI(MMControl)的主要属性(AutoEnable、ButtonEnabled、ButtonVisible、Command、DeviceType、FileName)、主要事件(ButtonClick、StatusUpdate)

2.图形控件

Line、Image、Shape及PictureBox控件主要属性及其应用。

3.常用绘图方法

与绘图有关的主要属性(FillColor、FillStyle、BorderStyle、BorderWidth),主要方法(Cls、Pset、Point、Line、Circle、PaintPicture、Print)。

4.动画

动画的实现方法(图形方法和使用图形控件Animation)、Animation控件的主要属性和方法(AutoPlay、Center、Open、Play、Stop)。

8.2习题精选

8.2.1题目

一、选择题

1.要消除窗体上的输出区域,应调用其()方法。

A.Line B.ClsC.PrintD.Pset

2.Cls方法可以清除窗体或图片框中的()内容。

A.在运行阶段产生的图形和文字

B.在设计阶段放置的控件

C.在设计阶段使用Picture属性设置的背景位图

D.以上全部内容

3.要让Line后的区域在Label的缝隙间显示出来,应将其()属性设为Transparent。

A.StyleB.ForeStyteC.BackStyleD.BackColor

4.Line对象中表征其终点X坐标的属性是()。

A.x1B.x2C.y1D.y2

5.PictureBox控件中可以使用的图形文件格式有()(多选)

A.bmpB.gifC.jpgD.ico

6.下面关于Animation控件的说法正确的是()。

(多选)

A.在对话框中显示出操作的长短和特征

B.播放有关应用程序的无声动画,提供使用指导

C.使用户能够播放放入该控件的文件

D.控件使用了一个独立的线程

7.在程序运行中要改变Line控件的外形,则下面的做法正确的是()。

A.使用Move方法来移动B.使用ReSize方法来实现

C.改变其Top,Left等属性D.改变其x1,y1,x2,y2属性

8.关于Shape控件,下面的说法正确的是()。

A.Shape控件不支持任何事件B.Shape控件能作为容器

C.Shape控件只能显示4种图形D.不能在运行时改变其填充类型

9.关于PictureBox和Image控件的说法,不正确的是()。

A.在运行中重画Image控件要快

B.Image控件不能作为容器

C.可以使用Image控件的Line方法来画线

D.PictureBox占用更多的系统资源

10.语句Line(0,0)-(50,60),VBGreen的作用是()。

A.绘制一条从(0,50)到(60,0)的绿线

B.绘制一条从(0,50)到(60,0)的红线

C.绘制一条从(0,0)到(60,50)的绿线

D.绘制一条从(0,0)到(50,60)的绿线

11.对通过设置窗体的Picture属性放置的图片,正确的陈述是()。

(多选)

A.不能隐藏,除非卸载

B.可以控制图片在窗体中的位置

C.一次只可以在窗体中放一个图片

D.不能改变图片尺寸

12.在VisualBasic中坐标轴的缺省刻度单位是缇,用户可以根据实际需要使用()改变刻度单位。

A.DrawStyle属性B.Scale属性

C.ScaleMode属性D.DrawWidth属性

13.下面的属性和方法中,()可以重新定义容器对象的坐标系统。

A.ScaleMode属性B.Scale方法

C.DrawStyle属性D.DrawWidth属性

14.执行语句Form2.ScaleLeft=120:

Form2.ScaleTop=250之后,窗体Form2的左上角坐标为()。

A.(0,0)B.(120,250)

C.(250,120)D.由ScalMode属性的当前值确定

15.执行下面的程序段之后,窗体左上角坐标为(),右下角坐标为()。

Form1.ScaleTop=2:

Form1.ScaleLeft=2

Form1.ScaleHeight=-2:

Form1.scaleWidth=2

A.(2,2)B.(4,0)C.(0,4)D.(-2,2)

16.当设置了容器对象的DrawWidth属性后,会影响()。

A.Line、Circle、Point方法B.PSet、Line、Circle方法

C.Line、Shape控件D.PSet、Line、Circle方法和Line、Shape控件

17.DrawStyle属性用于设置图形方法输出的线型,它受()属性的限制。

A.BorderStyleD.DrawWidthC.FillstyleD.FillColor

18.通过设置Shape控件的()属性可以绘制多种形状的图形。

A.ShapeB.BorderStyleC.FillStyleD.Style

19.通过设置Line控件的()属性可以绘制虚线、点线等多种式样的直线。

A.ShapeB.FillStyleC.BorderStyleD.Style

20.下面叙述正确的是()。

A.不能改变PSet方法绘制的点的大小

B.PSet方法只能使用容器对象的前景颜色画点

C.PSet方法绘制的点的大小受其容器对象的DrawWidth属性的影响

D.以上均不对

21.使用形状控件Shape无法得到的图形是()。

A.圆形B.扇形C.矩形D.椭圆

22.窗体Form、框架Frame、图片框Picture、图像框Image中()是容器控件。

A.Picture、Image、FormB.Form、Frame、Picture

C.Image、Form、FrameD.Frame、Picture、Image

23.使用Line方法画直线后,当前坐标为()。

A.直线的起点B.直线的终点C.容器对象有原点D.容器对象的中心

24.假设窗体的当前坐标为(200,200),则执行语句LineStep(100,100)-Step(200,200)时,绘制的点线的起点坐标为(),终点坐标为()。

A.(500,500)B.(200,200)C.(300,300)D.(100,100)

25.语句Line(200,200)-(600,600),,B的功能是()。

A.使用窗体的背景颜色绘制一条直线

B.使用窗体的背景颜色绘制一个矩形

C.使用窗体的前景颜色绘制一条直线

D.使用窗体的前景颜色绘制一个矩形

26.语句Line(200,200)-(600,600),vbRed,BF的功能是()。

A.在窗体上绘制一个红色的空心矩形

B.在窗体上绘制一个红色的实心矩形

C.在窗体上绘制一条红色的实线

D.在窗体上绘制一条红色的点划线

27.语句Line(100,100)–Step(500,500)将在窗体()画一直线。

A.(200,200)到(400,400)B.(100,100)到(500,500)

C.(100,100)到(600,600)D.(100,100)到(400,400)

28.下列语句序列能绘制一个等腰直角三角形的是()。

A.Line(100,100)-Step(200,200):

Line-Step(-200,0):

Line-Step(0,-200)

B.Line(100,100)-Step(200,200):

Line-Step(-100,0):

Line-Step(0,-100)

C.Line(100,100)-Step(200,200):

Line(200,200)-Step(-200,0):

Line(0,0),(100,100)

D.Line(100,100)-Step(0,100):

Line-Step(100,0):

Line-Step(100,100)

29.下面程序段的功能是()。

Forml.FillColor=vbBlue

Form1.FillStyle=0

Line(120,120)-(500,500),vbRed,B

A.在窗体上绘制一个边框为蓝色、填充色为红色的矩形

B.在窗体上绘制一个边框为红色、填充色为蓝色的矩形

C.在窗体上绘制一个边框为红色、填充色为红色的矩形

D.在窗体上绘制一个边框为红色、填充色为窗体背景颜色的矩形

30.方法Point(x,y)的功能是()。

A.返回该点在Scale坐标系中的坐标值

B.返回(x,y)点的RGB颜色值

C.将点移动到(x,y)处

D.在(x,y)处画一个点

31.在窗体上画圆,圆的单位按()指定的。

A.水平单位B.垂直单位

C.垂直和水平单位D.以上都不是

图8-1

32.绘制图8-1所示图形的语句是()。

A.Circle(1000,1000),1000,,0.0001,1.6,0.7

B.Circle(1000,1000),1000,0.001,1.6,0.7

C.Circle(1000,1000),1000,,-0.001,1.6,7

D.Circle(1000,1000),1000,,-0.0001,1.6,0.7

33.下列语句中能正确绘制纵横比为2的椭圆的是()。

A.Circle(500,500),300,2B.Circle(500,500),300,,,2

C.Circle(500,500),300,,,,2D.Circle(500,500),300,QBColor(12),,,,2

34.下面叙述正确的有()。

(多选)

A.弧的画法是从起点顺时针画到终点

B.弧的画法是从起点逆时针画到终点

C.使用Circle方法绘制圆、椭圆、弧或扇形时,如果省略颜色参数,则边框颜色值由所在的容器对象的ForeColor属性值决定

D.使用Circle方法绘制圆、椭圆、弧或扇形时,如果省略颜色参数,则边框颜色值由窗体的ForeColor属性值决定

35.当一个窗体被其他窗体覆盖后,又要回到该窗体时,如果要自动刷新或重画该窗体上的所有图形,应将()属性设置为True。

A.AutoRedrawB.AutosizeC.PictureD.Enabled

36.当一个对象(如窗体或图片框)被移动或改变大小之后,或当一个覆盖该对象的窗体被移开之后,如果要保持该对象上所画图形的完整性,可以选择触发()事件来完成图形的重画工作。

A.ClickB.LoadC.PaintD.Active

二、填空题

1.图片框内可使PictureBox根据图片调整大小的属性为_________;影像框为_______,若使Image控件可根据图片调整大小,该属性值应为________。

2.图片框控件和图像控件的缺省属性都是___________属性,设计时与运行时可读可写。

3.窗体、图片框或图像框中的图形通过对象的_____属性设置。

4.在窗体上用随机数产生了10 000个彩色点,试写出用来取得坐标为(200,300)的点的颜色的相应代码:

_______________________。

5.使用Move方法把图形框Picturel的左上角移动到距窗体顶部200twip,距窗体左边框200twip,同时图形框缩小50%,相应的代码为____________________。

6.使用Scale方法建立窗体Forml的用户坐标系,其中窗体左上角坐标为(–300,250),右下角坐标为(400,–100),相应的代码为___________________。

7.假定有一个名为pic2.gif的图形文件,要在运行期间把该文件装入一个图片框,应应执行的语句为_____。

8.VB的坐标系统是可以自定义的,使用对象的刻度属性和__________方法,即可设置对象的坐标系统。

9.窗体对象具有Cls方法,另外___________对象也具有该方法。

10.窗体的默认坐标原点在____________,X轴、Y轴的方向分别是______________。

11.将窗体中(x,y)处的点抹去的方法是PSet(x,y),________________。

12.在图片框Pic3中画一个左上角在(2000,2000),边长为2 000的红色实心正方形的语句为__________________________。

13.使用____________可以绘制圆角矩形,使用____________可以绘制扇形。

14.语句Circle(3000,3000),1000,,–3.14/2,–3.14*3/2运行的结果_________。

15.使用Circle方法在窗体Foml上以(25,25)为圆心,20为半径画圆,相应的代码为___________________。

16.设置图片框控件____________属性为____________,所产生的图形或文本为持久图形。

17.使用___________方法可设置绘图区的坐标比例,与之相关的属性有____________、____________、___________和____________。

18.要在图片框控件pic2的中央画一个半径为2 000 twip的红色圆形,画圆语句为__________________。

19.pi=3.14159265:

Circle(1500,1500),1000,-pi/3,-pi/2语句画出的是______________________图形。

20.执行Line(500,500)-Step(1000,0):

Line-Step(,1000):

Line-Step(-1000,0):

Line-Step(0,1000)语句画出的是____________图形。

21.执行_______________语句,可以清除picture3图片框内的图片。

22.Scale(0,0) – (100,100):

Forml.Line(20,20) – (50,50),,B语句画出的是()图形。

23.MicrosoftWindowsCommonControl-26.0部件中的Animation控件用来播放_________文件,用该控件的___________方法打开一个.avi文件,用_________方法在该控件中播放.avi文件。

24.要使MMContrl控件自动启用控件中的按钮,应设置________属性为True,要开始播放媒体文件,应设置_________属性的值为___________,停止播放则设置该属性的值为__________。

25.MMContrl控件的_______属性用来指定打开或保存的文件,运行时要改变该属性,必须先_________然后才重新打开该控件。

8.2.2答案与分析

一、选择题

1.B2.A3.C4.B5.ABCD

6.ABCD7.D8.A9.C10.D

11.ACD12.C13.B14.B15.AB

16.B17.D18.A19.C20.C

21.B22.B23.B24.CA25.C

26.B27.C28.A29.B30.B

31.A32.D33.C34.BC35.A

36.C

二、填空题

1.AutoSizeStretchFalse

2.Picture

3.Picture

4.ThisPointColor=Point(200,200)

5.Picture1.Move200,200,Picture1.Width/2,Picture1.Height/2

6.Form1.Scale(-300,250)-(400,-100)

7.Picture1.Picture=LoadPicture("pic.gif")

8.Scale

9.图片框

10.左上角X轴向右,Y轴向下

11.BackColor

12.pic3.Line(2000,2000)-(4000,4000),RGB(255,0,0),BF

13.ShapeCircle

14.左半个封闭的圆

15.Circle(25,25),20

16.AutoRedrawTrue

17.ScaleScaleHeightScaleWidthScaleLeftScaleTop

18.Circle(Pic3.ScaleWidth/2,Pic3.ScaleHeight/2),2000,vbRed

19.始、未两点与圆心相连的弧或饼

20.正方形

21.Picture3.Picture=LoadPicture("")

22.空心矩形

23.无声AVI文件OpenPlay

24.AutoEnableCommandPlayStop

25.FileName关闭

8.3上机实习

8.3.1题目

一、编程

1.利用图像框控件完成简单的动画。

要求图片在窗体上随机跳动。

2.利用Line方法在窗体上画出随机射线。

3.用Pset方法绘制圆的渐开线。

圆的渐开线可以用以下的参数方程表示:

x=b(Cost+tSint)

y=b(Sint-tCost)

4.作函数Exp(5/x)*Sin(2*x)的曲线。

5.画出一条正在运动的帆船。

6.用Timer设计一个小指针式小时钟。

7.用MMContrl控件设计一个媒体播放器。

二、改错或填充

1.以下程序要求实现窗体从左至右改变背景色。

试填空。

PrivateSubCommand1_Click()

DrawWidth=2

x=Form1.ScaleWidth

y=Form1.ScaleHeight

ScaleMode=twip

DrawStyle=solid

FillStyle=transparent

Fori=0Tox

_______________

Nexti

EndSub

2.窗体中有图片框(Picture1)和计时器(Timer1)两个控件,运行程序时,将图片加载到图片框中,然后图片框以每2s一次的速度向窗体的右下角移动,每次向左、向右移动100twip(1/20像素)。

试填空。

PrivateSubForm_load()

Picture1.Picture=loadPicture(“c:

\pic\ball.ico”)

___________.Interval=2000

EndSub

PrivateSubTimer1_Timer()

Staticx,yAsInteger

x=x+100

y=y+100

Picture1.Move___________

EndSub

图8-2

3.给定的程序要在窗体上画一个圆柱体,如图8-2。

请修改其中的错误。

PrivateSubForm_Click()

Fori=1000To1Step-1

Circle(1900,700+i),1000,vbRed,,,3/5

Nexti

FillStyle=0

FillColor=RGB(255,255,255)

Circle(1900,700),1000,,,3/5

EndSub

4.给定程序的功能是:

模拟下雪的效果。

请改正程序中的错误,使之能实现指定的功能。

DimSnow(1000,2),AmountyAsInteger

PrivateSubForm_Load()

Form1.Show

DoEvents

Randomize

Amounty=500

ForJ=1ToAmounty

Snow(J,0)=Int(Rnd*Form1.Width)

Snow(J,1)=Int(Rnd*Form1.Height)

Snow(J,2)=10+(Rnd*20)

NextJ

DoWhileNot(DoEvents=0)

ForL=1To10

ForI=1ToAmounty

Snow(I,1)=Snow(I,1)+Snow(I,2)

IfSnow(I,1)>Form1.HeightThen

Snow(I,1)=0:

Snow(I,2)=2+(Rnd*30)

Snow(I,0)=Int(Rnd*Form1.Width)

EndIf

Circle(Snow(I,0),Snow(I,1)),15*Rnd

NextI

Form1.Cls

NextL

Loop

EndSub

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

UnloadMe

EndSub

8.3.2编程提示

一、编程

1.设计时在控件的Picture属性中选装入一个图片。

在时钟的Timer事件过程中,利用控件的Move方法将控件移到一个新的位置,新位置的坐标由随机函数Rnd产生。

2.编程要点:

(1)随机函数Rnd产生的值在(0,0.5)与(0.5,1)之间的分布是相同的。

(2)Rnd值在(0,0.5)时,相应有坐标(x,y)在第一象限,否则坐标值取反,这样可得到其他象限的坐标。

参考代码如下:

Scale(-320,240)-(320,-240)

Fori=1To100

x=320*Rnd

y=240*Rnd

IfRnd<0.5Then

x=-x

EndIf

IfRnd<0.5Then

y=-y

EndIf

ColorCode=15*Rnd

Line(0,0)-(x,y),QBColor(ColorCode)

Nexti

3.参考代码:

ScaleMode=6'设置坐标的单位为毫米

x=ScaleWidth/2

y=ScaleHeight/2

Fort=0To30Step0.01

xt=Cos(t)+t*Sin(t)

yt=-(Sin(t)-t*Cos(t))'屏幕的Y轴向下

PSet(xt+x,yt+y)'相对于中心点画曲线

Ne

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

当前位置:首页 > 总结汇报

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

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