首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

这是一个画图 函数解决办法

2013-11-15 
这是一个画图 函数Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)MyB

这是一个画图 函数
        Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            MyBase.OnPaint(e)

            Dim bmpImage As Bitmap = New Bitmap(Me.pb_DrawArea.Size.Width, Me.pb_DrawArea.Size.Height)
            Me.pb_DrawArea.Image = bmpImage

            Dim g As Graphics = Graphics.FromImage(Me.pb_DrawArea.Image)


            Dim pieRect As New System.Drawing.Rectangle(0, 0, Me.pb_DrawArea.Size.Width - 5, Me.pb_DrawArea.Size.Height - 5)

            Dim stAngle '開始角度
            Dim enAngle '終了角度

            'L描画
            If (mLowStartAngle < mHighStartAngle) Then
                stAngle = STARTANGLE + mLowStartAngle
                enAngle = mHighStartAngle - mLowStartAngle
            Else
                stAngle = STARTANGLE + mLowStartAngle
                enAngle = 360 - (mLowStartAngle - mHighStartAngle)

            End If
            g.FillPie(Brushes.Gray, pieRect, stAngle, enAngle)


            'H描画
            If (mLowStartAngle < mHighStartAngle) Then
                stAngle = STARTANGLE + mHighStartAngle
                enAngle = 360 - (mHighStartAngle - mLowStartAngle)
            Else
                stAngle = STARTANGLE + mLowStartAngle
                enAngle = mHighStartAngle - mLowStartAngle

            End If
            g.FillPie(Brushes.Orange, pieRect, stAngle, enAngle)

            '直線
            Dim _x, _y, _ex, _ey As Integer
            Dim boldPen As Pen = New Pen(Color.Black, 2)

            _x = (Me.pb_DrawArea.Size.Width - 5) / 2
            _y = 0
            _ex = (Me.pb_DrawArea.Size.Width - 5) / 2
            _ey = (Me.pb_DrawArea.Size.Height - 5) / 2
            g.DrawLine(boldPen, _x, _y, _ex, _ey)

  
            g.Dispose()

        End Sub

不知道原理 
通过 mLowStartAngle 
 mHighStartAngle
这两个变量控制原型的角度
帮我分析一下是怎么实现的
[解决办法]
画那种百分比的饼图
FillPie
重点是这个
http://msdn.microsoft.com/zh-cn/library/system.drawing.graphics.fillpie(v=vs.110).aspx

自己想一想就明白,再不明白我也没办法了,那不是编程的问题,而是应该学前班的阿姨教你了。

热点排行