实验五图形应用程序开发

  • 格式:doc
  • 大小:153.50 KB
  • 文档页数:7

Imports System.MathPublic Class sy11_1Private Sub sy11_1_Click(sender As Object, e As EventArgs) Handles Me.Click Dim g As Graphics = Me.CreateGraphicsDim p As New Pen(Color.Purple)Dim a = 3.14159 / 10Dim i, x, y, x0, y0, r, r1 As Singlex0 = Me.Width / 2y0 = Me.Height / 2r = 70r1 = 40For i = 1 To 20x = r * Cos(i * a) + x0y = r * Sin(i * a) + y0x = x - r1y = y - r1g.DrawEllipse(p, x, y, 2 * r1, 2 * r1)NextEnd SubEnd Class11.6、设计应用程序,练习基本绘图指令。

(1)拖入相应的button事件,触发相应的事件:(2)在代码界面首先定义绘图工具,定义画笔,然后双击button按钮,编写相应的代码原图上一行按钮的效果图渐变矩阵与文字效果图旋转文字效果图源代码:Imports System.DrawingImports System.Drawing.Drawing2DPublic Class 11_6Dim g As Graphics = Me.CreateGraphicsDim p As Pen = New Pen(Color.Black, 10)Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Clickg.Clear(Color.WhiteSmoke)End SubPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Clickg.DrawLine(p, 50, 60, 100, 200)p.SetLineCap(LineCap.Flat, LineCap.ArrowAnchor, DashCap.Flat)End SubPrivate Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Clickg.TranslateTransform(100, 100)Dim points As Point() = {New Point(-10, -16), New Point(-40, 40), New Point(15, 80), New Point(45, 40)}g.DrawPolygon(p, points)g.ResetTransform()End SubPrivate Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim rect As New Rectangle(150, 100, 50, 50)g.DrawEllipse(p, rect)End SubPrivate Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim a As New SolidBrush(Color.Red)Dim rect As New Rectangle(30, 30, 40, 50)g.FillRectangle(a, rect)End SubPrivate Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim p1 As New Point(10, 20)Dim p2 As New Point(30, 40)Dim a As New LinearGradientBrush(p1, p2, Color.Pink, Color.Green)Dim rect As New Rectangle(100, 30, 50, 60)g.FillRectangle(a, rect)End SubPrivate Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Dim b As New SolidBrush(Color.Blue)Dim f As New Font("宋体", 28, FontStyle.Bold Or FontStyle.Italic)g.DrawString("文字", f, b, 200, 100)g.ResetTransform()End SubPrivate Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click Dim b As New SolidBrush(Color.Black)Dim f As New Font("方正舒体", 15, FontStyle.Bold Or FontStyle.Italic)g.TranslateTransform(100, 150)For i = 1 To 10g.DrawString("程序设计", f, b, 10, 10)g.RotateTransform(36)Nextg.ResetTransform()End SubEnd Class11.8、设计统计表,绘图数据可以从文本框中输入或从文件中读取(1)拖入了一些基本控件,新加入一个picturebox控件为用户显示图片,在代码页面分别定义画布,画笔,和一个指定颜色的刷子病定义字体的大小,颜色,字体类型。

原图统计图Public Class 11_8Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim g As Graphics = PictureBox1.CreateGraphicsDim p As Pen = New Pen(Color.Blue)Dim b As New SolidBrush(Color.Blue)Dim f As New Font("宋体", 10, FontStyle.Bold)Dim rect1, rect2, rect3 As RectangleDim m1, m2, m3 As SingleDim m11, m22, m33 As Singlem1 = Val(TextBox1.Text)m2 = Val(TextBox2.Text)m3 = Val(TextBox3.Text)m11 = m1 / (m1 + m2 + m3) * 150m22 = m2 / (m1 + m2 + m3) * 150m33 = m3 / (m1 + m2 + m3) * 150g.TranslateTransform(20, 160)g.DrawLine(p, 0, 0, 0, -150)g.DrawLine(p, 0, 0, 200, 0)g.DrawString("饮料", f, b, 35, 10)g.DrawString("水果", f, b, 95, 10)g.DrawString("蔬菜", f, b, 155, 10)g.DrawString("超市营销", f, b, 30, -145)rect1 = New Rectangle(30, -m11, 30, m11)rect2 = New Rectangle(90, -m22, 30, m22)rect3 = New Rectangle(150, -m33, 30, m33)g.FillRectangle(b, rect1)g.FillRectangle(b, rect2)g.FillRectangle(b, rect3)End SubEnd Class11.9、根据输入的三次考试成绩,画折线图。

设计图及运行结果:原图直方图效果代码如下:Public Class 11_9Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim g As Graphics = PictureBox1.CreateGraphicsDim p As Pen = New Pen(Color.Blue)Dim b As New SolidBrush(Color.Black)Dim f As New Font("宋体", 10, FontStyle.Bold)Dim m1, m2, m3 As SingleDim m11, m22, m33 As Singlem1 = Val(TextBox1.Text)m2 = Val(TextBox2.Text)m3 = Val(TextBox3.Text)m11 = 3 / 2 * m1m22 = 3 / 2 * m2m33 = 3 / 2 * m3g.TranslateTransform(20, 180)g.DrawLine(p, 0, 0, 0, -150)g.DrawLine(p, 0, 0, 200, 0)g.DrawString("数学", f, b, 25, 10)。