1 / 26

第九章 图形

第九章 图形. 9.1 坐标系统和颜色 9.1.1 坐标系统. 坐标原点、坐标度量单位、坐标轴的长度与方向 1. 坐标度量单位 ( 坐标刻度 ) 由容器对象的 ScaleMode 属性决定 如:在窗体上绘制控件及图形,窗体为容器对象。. 2.VB 的缺省坐标系统. 3. 坐标系的定义方法 方法一:设置对象的相关坐标属性. 表 9-2 坐标属性. 【 例9-1 】 在窗体的单击事件中定义窗体 Form1 的坐标系 Private Sub Form_Click() Cls

nizana
Download Presentation

第九章 图形

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第九章 图形

  2. 9.1 坐标系统和颜色9.1.1 坐标系统 • 坐标原点、坐标度量单位、坐标轴的长度与方向 1.坐标度量单位(坐标刻度) 由容器对象的ScaleMode属性决定 如:在窗体上绘制控件及图形,窗体为容器对象。

  3. 2.VB的缺省坐标系统

  4. 3.坐标系的定义方法 方法一:设置对象的相关坐标属性 表9-2 坐标属性

  5. 【例9-1】在窗体的单击事件中定义窗体Form1的坐标系【例9-1】在窗体的单击事件中定义窗体Form1的坐标系 Private Sub Form_Click() Cls Form1.ScaleLeft = -200 Form1.ScaleTop = 250 Form1.ScaleWidth = 500 Form1.ScaleHeight = -400 End Sub

  6. 方法二:采用Scale方法来设置坐标系 [对象.] Scale[(左上角坐标) – (右下角坐标)] 【例9-2】假定当前对象为窗体Form1,则代码: Me.Scale(-200,250) – (300,-150) • 采用的Scale方法所定义的坐标系与例9-1是等效的

  7. 9.1.2 使用VB颜色 1.QBColor函数 QBColor(color) • color参数是介于0~15的整型值 表9-3 color参数的设置值所选择的颜色

  8. 1.RGB函数 RGB(R,G,B) • R、G、B分别指明三原色中红色、绿色、蓝色的比例,它们的取值范围为0~255。 表 9 - 4 常 见 标 准 颜 色 的 RGB 值

  9. 9.2 图形控件 1.线条控件(Line) 在窗体、图片框和框架中画各种直线段。通过使用Line控件在窗体上可视化地安排直线的位置、长度、宽度、颜色等。 常用属性: X1、X2、Y1和Y2 BorderStyle(边框风格)属性 BorderWidth(线宽)属性

  10. 2.形状控件(Shape) Shape控件预定义了6种形状,通过设置Shape属性来实现 所需形状。 表9-5 Shape属性设置值及对应的形状

  11. 9.2.3 图形控件与动画 【例9-3】 Timer Shape Line

  12. Timer1的Timer事件代码: Private Sub Timer1_Timer() t = t + 1 Shape3.Left = x0 + Shape1.Tag * Cos(pi * t / 30) - 90 Shape3.Top = y0 - Shape1.Tag * Sin(pi * t / 30) - 90 Line1.X2 = Shape3.Left + 90 Line1.Y2 = Shape3.Top + 90 Line2.Y2 = y0 - Shape1.Tag * Sin(pi * t/30) -Sqr(Line2.Tag^2 _ - (Shape1.Tag * Cos(pi * t / 30))^2) Line2.X1 = Line1.X2 Line2.Y1 = Line1.Y2 Shape4.Top = Line2.Y2 - 200 End Sub

  13. 9.2.4 与图形有关的属性 表9-8 对象的图形属性

  14. 1.DrawMode属性 决定绘制线条的真实颜色 [对象.] DrawMode [=值] 2.DrawWidth属性和DrawStyle属性 DrawWidth属性用来设置绘图线的宽度 [对象.] DrawWidth [=值] DrawStyle属性用于指定用图形方式创建的线是实线还是虚线 [对象.] DrawStyle [=值] 图9-5 不同设置值的效果

  15. 3.FillColor属性和FillStyle属性 FillColor属性为填充色和FillStyle属性为填充样式 [对象.] FillColor [=值] [对象.] FillStyle [=值] 图9-6 FillStyle属性不同设置值的效果

  16. 9.3 常用绘图方法 1.画点方法(PSet) 可以在对象的指定位置(x,y),按确定的像素颜色画点 [对象.] Pset [Step] (x,y) [,颜色] 【例9-4】使用PSet方法绘制阿基米德螺线 X=t*cost Y=t*sint For t = 0 To 12 Step 0.01 y = t * Sin(t) x = t * Cos(t) PSet (x, y),vbRed Next t 图9-7 用Pset方法绘制数学曲线

  17. 2.画直线、矩形方法 画直线、矩形方法可以在对象上的两点之间画直线或矩形 对象.Line [Step] [x1,y1]-[Step](x2.y2) [,颜色] [,B[F]] 【例9-5】使用Line方法的不同参数画出图形 终点坐标 起始点坐标 ‘画菱形的左上边 Line (ScaleLeft, my)-(mx, ScaleTop) ‘画菱形的右上边 Line -(ScaleWidth + ScaleLeft, my) ‘画菱形的右下边 Line -(mx, ScaleHeight + ScaleTop) ‘画菱形的左下边 Line -(ScaleLeft, my)

  18. 3.画圆方法 可以在容器对象上画圆、椭圆或弧 [对象.] Circle [Step] (x,y), 半径 [, 颜色, 开始, 结束, 方位] 说明: (x,y)指定圆、椭圆或弧的中心坐标 “开始”和“结束” 指定弧或扇形的起始点以及终点位置 方位 为垂直半径与水平半径之比,不能为负数 【例9-6】 Const pi = 3.1415926 Circle (1500,1250), 1000, vbBlue, pi/2, 2*pi Circle Step(500,-500), 500, vbRed Circle Step(0,0),500, , , , 5/25

  19. 4.清除图形方法 可以清除窗体或PictureBox等容器对象中由图形和打印语句在运行时所生成的图形和文本 [对象.] Cls 5.绘图语句与Paint事件 窗体和Picture控件都有Paint事件,通过使用Paint事件过程,可以保证必要的图形都得以重现。 Paint事件 其它事件

  20. 9.4 显示图片 图片可以在三个对象中出现 Form、PicutreBox、Image 1.在Form中显示图片 • 使用窗体的Picture属性 • 要在运行时显示或替换图片,可利用函数LoadPicture来设置Picture属性 LoadPicture([文件名]) 注明: • “文件名”是一个字符串表达式,包括驱动器、文件夹和文件的名称,也可以使用App.Path获得当前路径

  21. 2.在Image中显示图片 • Picture属性 • LoadPicture函数 • Strech(伸展属性) 【例9-7】现有五个描述手伸握过程的图形(h1.jpg ~ h5.jpg)和一幅背景图(car.gif),试利用图像框(Image)装载显示图形较快的特点,结合其Move方法编程实现让手在背景图上伸握移动的动画显示。

  22. 3.在PictureBox中显示图片 • Picture • AutoSize • Image 【例9-8】利用图片框(PictureBox)进行图形复制和文本打印

  23. 水平滚动条(HScrollBar) 4.使用滚动条控件(ScrollBar) • 滚动条属性(Value\LargeChange\SmallChange) • 滚动条事件(Change\Scroll) • 滚动条应用 【例9-9】 垂直滚动条(VScrollBar) 利用滚动条控制设置R(红)、G(绿)、 B(蓝)三原色彩的调合比例并返回调合色彩的RGB值

  24. 习 题 9 9-1 利用(Line、Shape)图形控件和标签控件编制小时钟程序,并利用Timer控件来控制指针的转动,如图9-16所示。

  25. 9-2 编制程序:利用Circle和Line 方法及窗体的Fillcolor等属性,在窗体中画一个发光的红太阳,如图9-17所示。

More Related