VB2005下绘制曲线.doc_第1页
VB2005下绘制曲线.doc_第2页
VB2005下绘制曲线.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB2005下绘制曲线VB2005提供了各种曲线的绘制,VB2005里面曲线的绘制不像VB中,可以直接调用form.line或是pictrue1.line及其它方法VB2005里面提供了一个叫做Graphics的接口类,该类中提供了很多绘制曲线的方法,如:Public Sub DrawArc(ByVal pen As System.Drawing.Pen, ByVal x As Integer, ByVal y As Integer, _ByVal width As Integer, ByVal height As Integer, ByVal startAngle As Integer, ByVal sweepAngle As Integer)该方法是用来绘制一段圆弧。Public Sub DrawBezier(ByVal pen As System.Drawing.Pen, ByVal x1 As Single, ByVal y1 As Single,_ByVal x2 As Single, ByVal y2 As Single, ByVal x3 As Single, ByVal y3 As Single, ByVal x4 As Single, ByVal y4 As Single)该方法用来绘制贝塞尔曲线。Public Sub DrawClosedCurve(ByVal pen As System.Drawing.Pen, ByVal points() As System.Drawing.Point)该方法是用来绘制一个封闭的由所提供的点组成的线框。Public Sub DrawCurve(ByVal pen As System.Drawing.Pen, ByVal points() As System.Drawing.Point)该方法绘制经过一组指定的 System.Drawing.Point 结构的基数样条Public Sub DrawEllipse(ByVal pen As System.Drawing.Pen, ByVal x As Integer, ByVal y As Integer,_ByVal width As Integer, ByVal height As Integer)该方法绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。Public Sub DrawIcon(ByVal icon As System.Drawing.Icon, ByVal x As Integer, ByVal y As Integer)该方法在指定坐标处制由指定的 System.Drawing.Icon 表示的图像。Public Sub DrawImage(ByVal image As System.Drawing.Image, ByVal x As Integer, ByVal y As Integer)该方法在由坐标对指定的位置,使用图像的原始物理大小绘制指定的图像。Public Sub DrawLine(ByVal pen As System.Drawing.Pen, ByVal x1 As Integer, ByVal y1 As Integer,_ByVal x2 As Integer, ByVal y2 As Integer)该方法绘制一条连接由坐标对指定的两个点的线条。Public Sub DrawLines(ByVal pen As System.Drawing.Pen, ByVal points() As System.Drawing.Point)该方法绘制一系列连接一组 System.Drawing.Point 结构的线段。 Public Sub DrawPie(ByVal pen As System.Drawing.Pen, ByVal x As Integer, ByVal y As Integer,_ByVal width As Integer, ByVal height As Integer, ByVal startAngle As Integer, ByVal sweepAngle As Integer)该方法绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。Public Sub DrawRectangle(ByVal pen As System.Drawing.Pen, ByVal x As Integer,_ByVal y As Integer, ByVal width As Integer, ByVal height As Integer)该方法绘制由坐标对、宽度和高度指定的矩形。以上几种是常见的画图形常用的方法。在VB2005里面画图,首先要获得Graphics,也就是图形的接口,以现实作对比的话,就像是你要画画,总要先找张纸吧,这里的Graphics就是一张纸,有两种方法可以获得这张纸:1.在Paint事件里面,可以直接用e.Graphics的方法,比如,e.Graphics.Drawline(.)2.通过创建Graphics,先定义一个Graphics,dim g as Graphics然后,创建一个图形的Graphics对象:g=PictureBox1.CreateGraphics()当然用完了,别忘了Dispose()将所用的资源释放掉有了纸,还得要笔,那么我们可以创建一支笔,然后使用它:Dim m_pen As System.Drawing.Pen 先定义一支笔 m_pen = New System.Drawing.Pen(Color.Red, 1) 创建一支笔,同时定义了它的一些属性 m_pen.Color = Color.Black 也可以在后面修改它的属性,包括线的颜色,线的宽度等实际上这个过程就相当于你去画笔盒里找一支想要的笔。有了笔之后,就可以画画了吗?是的,不过你得知道往纸的什么地方画吧,好,这张纸有坐标呀,不过这纸的坐标和我们通常的不一样,它的X坐标和我们是一样的,它的Y坐标和通常的坐标相反,它是从上向下依次增大的,那好,我们把我们的常规坐标反一反,不就可以了吗,是的,将你所画的纸宽度减掉你的常规坐标,但是仅此还是不够的,纸的大小毕竟有限,要是你的图形很大,怎么办,简单,缩放呗。假设你X坐标范围是0-1000,Y坐标范围是0-500,而你的纸,比如,picturebox1吧,它的宽度是100,高度是100,那么你的坐标必须缩放,X轴缩放为原来的1/10,Y轴缩放为原来的1/5。说了这么多,我们来写个例子吧:新建一个窗体,在窗体上放一个PictureBox1,再放置一个按钮,在按钮的属性里调用下面的过程定义一个过程:Sub DrawOurline()dim ScaleFactorX as Singledim ScaleFactorY As SinglePrivate m_Point(1000) As PointF定义一个数组,用来放点(浮点数格式)Dim LPointArray(1000) As PointFDim m_pen As System.Drawing.Pen定义一只笔Dim i As Int16 For i = 0 To 1000 随机生成一些点,形成坐标 m_Point(i).X = i m_Point(i).Y = Rnd() * 500 NextScaleFactorY = 500/ PictureBox1.Height 计算缩放因子 ScaleFactorX = 1000 / PictureBox1.Width 计算缩放因子for i=0 to 1000 LPointArray(i).X = m_Point(i).X / ScaleFactorY LPointArray(i).Y = PictureBox1.Height-m_Point(i).Y / ScaleFactorYnex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论