第九章六图形操作.pptVIP

  • 3
  • 0
  • 约9.28千字
  • 约 32页
  • 2019-01-08 发布于福建
  • 举报
第九章六图形操作

例9.11 设计程序模拟行星运动 设计思路:在时钟的Timer1_Time事件内有规律地改变对象的形状、尺寸或位置,就可形成动画效果。 太阳和行星运动用Circle语句完成。行星在轨道上的方程: x= rx*cos(alfa),y= ry*sin(alfa) 窗体的DrawMode属性设置为Xor或Invert ,在相同位置上重复绘置相同图形,可起到擦除的作用。 Private Sub Form_Click() Scale (-2000, 1000)-(2000, -1000) FillStyle = 0 FillColor = vbRed Circle (0, 0), 200, vbRed Me.FillStyle = 1 Circle (0, 0), 1600, vbBlue, , , 0.5 DrawMode = 6 Timer1.Enabled = True Me.FillStyle = 0 End Sub Private Sub Timer1_Timer() Static alfa, flag As Boolean flag = Not flag If flag Then alfa = alfa + 0.314 If alfa 6.28 Then alfa = 0 x = 1600 * Cos(alfa) y = 800 * Sin(alfa) Circle (x, y), 150 End Sub * * * * * * * * * * * * * * * 第9章 图形操作 9.1 图形操作基础 9.2 绘图属性 9.3 图形方法 9.4 综合应用 9.1 图形操作基础 在VB中绘制图形,其过程一般分为4个步骤: ① 先定义图形载体窗体对象或图形框对象的坐标系 ② 设置线宽,线型、色彩等属性 ③ 指定画笔的起终点位置 ④ 调用绘图方法绘制图形 例9.1在窗体上绘制?2?到2?之间的正弦曲线 Private Sub Form_Click() Form1.Scale (-8, 2)-(8, -2) Line (-7.5, 0)-(7.5, 0): Line (0, 1.9)-(0, -1.9) DrawWidth = 2 CurrentX = 7.5: CurrentY = 0.2: Print X“ CurrentX = 0.5: CurrentY = 2: Print Y“ For i = -7 To 7 Line (i, 0)-(i, 0.1) CurrentX = i - 0.2: CurrentY = -0.1: Print i Next i For x = -6.283 To 6.283 Step 0.01 Pset (x, Sin(x)) Next x End Sub 9.1.2 坐标系统 构成一个坐标系,需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。 坐标度量单位:由容器对象的ScaleMode属性决定。 缺省时为Twip =1/567cm 默认坐标原点为对象的左上角,横向向右为X轴正向 纵向向下为Y轴正向(ScaleHeight实际可用高度) 使用Scale方法,语法如下: 对象.Scale (xLeft , yTop)-(xRight,yBotton) 注意:对象为窗体、图形框、打印机 (xLeft , yTop):对象左上角的坐标值 (xRight,yBotton):对象右下角坐标值 利用CurrentX、 CurrentY属性设置当前坐标 自定义坐标系 例9.2在Form_Paint 事件中定义窗体的坐标系 Private Sub Form_Paint() Cls Form1.Scale (-300, 200)-(300, -200) Line (-300, 0)-(300, 0) Line (0, 200)-(0, -200) CurrentX = 0: CurrentY = 0: Print 0 CurrentX = 260: CurrentY = 50: Print X CurrentX = 10: CurrentY = 180: Print Y End Sub 9.2 绘图属性 9.2.1 当前坐标 CurrentX,CurrentY属性:给出窗体或图形框或打印机在绘图时的当前坐标 使用格式:

文档评论(0)

1亿VIP精品文档

相关文档