《《图形图像处理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《图形图像处理》PPT课件.ppt(30页珍藏版)》请在三一办公上搜索。
1、第11章图形图像处理,贺向前,主要内容,计算机坐标系统常用作图方法作图相关属性作图的相关函数,计算机坐标系统,显示器坐标系统,计算机坐标系统,窗口等容器的坐标系统,计算机坐标系统,坐标系统的度量单位object.ScaleMode=value,计算机坐标系统,自定义度量单位Object.ScaleWidth=w把对象的宽度定义为有w个刻度单位Object.ScaleHight=h把对象的高度定义为有h个刻度单位Object.ScaleLeft=X当X0,对象的坐标系统的横坐标向左平移X个度量单位当X0,对象的坐标系统的纵坐标向上平移Y个度量单位当Y0,对象的坐标系统的纵坐标向下平移Y个度量单位
2、,计算机坐标系统,自定义度量单位Object.Scale(x1,y1)-(x2,y2)(x1,y1):新坐标系下对象左上角的坐标(x2,y2):新坐标系下对象右下角的坐标,计算机坐标系统,例 把窗体的坐标系统的长宽分别定义为100个单位,坐标原点移动到窗体的中央,Private Sub Form_Load()Me.AutoRedraw=True Me.ScaleWidth=100 Me.ScaleHeight=100 Me.ScaleLeft=-50 Me.ScaleTop=-50 Me.Line(-50,0)-(50,0)Me.Line(0,-50)-(0,50)End Sub,计算机坐标系
3、统,把窗体的坐标系统的长宽分别定义为100个单位,坐标原点移动到窗体的中央,Private Sub Form_Load()Me.AutoRedraw=True Me.Scale(-50,-50)-(50,50)Me.Line(-50,0)-(50,0)Me.Line(0,-50)-(0,50)End Sub,计算机坐标系统,如何把上例中的纵坐标的方向设置为向上?并标出如图所示的原点和X、Y,常用作图方法,画线Line方法Object.Line(x1,y1)-(x2,y2),Color画矩形Line方法Object.Line(x1,y1)-(x2,y2),Color,BF如果没有使用参数F,则填
4、充模式和填充颜色分别由Object的FillStyle和FillColor决定,否则画一个实心的矩形,边框线颜色和填充颜色均由Color决定;,例 画出5条长度相同平行的线段,Option ExplicitPrivate Sub Form_Click()Dim i%For i=1 To 5 Line(500,500*i+100)-(2500,500*i+100)Next iEnd Sub,例 画出5个同心矩形,Option ExplicitPrivate Sub Form_Click()Dim i%,x1%,y1%,x2%,y2%Me.Scale(-50,50)-(50,-50)Me.Line
5、(-50,0)-(50,0)Me.Line(0,50)-(0,-50)For i=1 To 5 x1=-50+5*i y1=50-5*i x2=50-5*i y2=-50+5*i Me.Line(x1,y1)-(x2,y2),B Next iEnd Sub,例:画出如图所示图形,Private Sub Form_Click()Dim i%,j%,t#,N%,r#,xi#,yi#,xj#,yj#N=15:r=3 t=2*pi/N For i=1 To N For j=1 To N If i j Then xi=r*Cos(i*t)+0 yi=r*Sin(i*t)+0 xj=r*Cos(j*t)+
6、0 yj=r*Sin(j*t)+0 Line(xi,yi)-(xj,yj)End If Next j Next iEnd Sub,Private Sub Form_Load()Me.Width=Me.Height Me.Scale(-4,4)-(4,-4)End Sub,Line方法中的Step关键字,Private Sub Form_Load()Me.AutoRedraw=True Me.Scale(-200,200)-(200,-200)Dim i%Me.CurrentX=-180 Me.CurrentY=150 For i=1 To 9 Me.Line-Step(20,0)Me.Line
7、-Step(0,-200)Me.Line-Step(20,0)Me.Line-Step(0,200)Next iEnd Sub,常用作图方法,画圆Circle方法Object.Circle(x,y),R,Color,Start,End,Aspect按逆时针方向画圆Start,End为画圆弧起始和结束的弧度。如果为负数,则先要画一条半径,然后把Start,End处理成正数;Aspect决定画一个椭圆的纵横坐标比(为1画圆),例 画出5个同心圆,Option ExplicitPrivate Sub Form_Click()Dim i%,x%,y%x=Me.ScaleWidth/2 y=Me.Sca
8、leHeight/2 Me.ScaleLeft=-x Me.ScaleTop=-y Me.Line(-x,0)-(x,0)Me.Line(0,y)-(0,-y)For i=1 To 5 Me.Circle(0,0),200+200*i Next iEnd Sub,例:行星绕太阳转,Private Sub Form_Click()Me.Scale(-4000,2000)-(4000,-2000)Me.FillStyle=0Me.FillColor=RGB(255,255,0)Me.Circle(0,0),400,vbRedMe.FillStyle=1Me.Circle(0,0),3200,vbB
9、lue,0.5Me.DrawMode=7Timer1.Enabled=TrueMe.FillStyle=0End SubPrivate Sub Form_Load()Me.Height=2700Me.Width=4800Timer1.Interval=10Timer1.Enabled=FalseEnd Sub,Private Sub Timer1_Timer()Static alfa#,flag,x#,y#flag=Not flagIf flag Then alfa=alfa+PI/10If alfa 2*PI Then alfa=0 x=3200*Cos(alfa)y=1600*Sin(al
10、fa)Me.Circle(x,y),300End Sub,常用作图方法,画点PSet方法Object.PSet(X,Y),ColCls方法Move方法,例9.5 画出2个周期的正弦波形,Option ExplicitPrivate Sub Form_Click()Dim i%,x#,y#Me.Scale(-2*pi,1.2)-(2*pi,-1.2)Me.Line(-2*pi,0)-(2*pi,0)Me.Line(0,1.2)-(0,-1.2)For x=-2*pi To 2*pi Step 0.01 y=Sin(x)Me.PSet(x,y)Next xEnd Sub,例:画出如图所示的图形,P
11、rivate Sub Form_Click()Dim a#,r#,x#,y#r=4 For a=0 To 2*pi Step 0.001 x=r*Cos(4*a)*Cos(a)y=r*Cos(4*a)*Sin(a)Me.PSet(x,y)Next aEnd SubPrivate Sub Form_Load()Me.Width=Me.Height Me.Scale(-4,4)-(4,-4)End Sub,常用作图方法,PaintPicture方法picDes.PaintPicture picSrc.Picture,_ picDes.Left,picDes.Top,_picDes.Width,pi
12、cDes.Height,_picSrc.Left,picSrc.Top,_picSrc.Width,picSrc.Height,vbSrcCopy,作图相关属性,CurrentX,CurrentY属性设置光标的坐标位置object.CurrentX=numberobject.CurrentY=number,作图相关属性,DrawStyle决定图形方法输出的线型的样式object.DrawStyle=numbernumber 的设置值为:,例 画出7条长度相同平行的线段,Option ExplicitPrivate Sub Form_Click()Dim i%Me.Scale(-50,-50)-
13、(50,50)For i=0 To 6 Me.DrawStyle=i Me.Line(-40,-40+5*i)-(40,-40+5*i)Next iEnd Sub,作图相关属性,DrawWidth设置图形方法输出的线宽object.DrawWidth=size,Option ExplicitPrivate Sub Form_Click()Dim i%Me.Scale(-50,-50)-(50,50)For i=1 To 12 Me.DrawWidth=i Me.Line(-40,-40+6*i)-(40,-40+6*i)Next iEnd Sub,作图相关属性,FillStyle设置填充模式object.FillStyle=number,例画出8个并排的圆,Option ExplicitPrivate Sub Form_Click()Dim i%For i=0 To 7 Me.FillStyle=i Me.Circle(500+800*i,800),400Next iEnd Sub,作图相关函数,LoadPicture(“FileName”)SavePicture picture,“FileName”RGB(0-255,0-255,0-255)QBColor(0-15),Thanks for your attendance,
链接地址:https://www.31ppt.com/p-5484568.html