Sub Form_Click()
創(chuàng)新互聯(lián)建站專注于通山企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都做商城網(wǎng)站。通山網(wǎng)站建設(shè)公司,為通山等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
Dim CX, CY, Radius, Limit ' Declare variable.
Picture1.AutoRedraw = True
Picture1.ScaleMode = 3 ' 以像素為單位。
CX = Picture1.ScaleWidth / 2 ' X 位置。
CY = Picture1.ScaleHeight / 2 ' Y 位置。
If CX CY Then Limit = CY Else Limit = CX
For Radius = 0 To Limit ' 半徑。
Picture1.Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Next Radius
For I = 0 To 50 Step 2 ' Set up loop.
F = I / 50 ' 執(zhí)行中間。
f1 = 1 - F: f2 = 1 + F ' 計算。
Picture1.Line (CX * f1, CY)-(CX, CY * f1) ' 畫左上角。
Picture1.Line -(CX * f2, CY) ' 畫右上角。
Picture1.Line -(CX, CY * f2) ' 畫右下角。
Picture1.Line -(CX * f1, CY) ' 畫左下角
ForeColor = QBColor(I Mod 15) ' 每次改變顏色。
Next I
SavePicture Picture1.Image, "z:\test.bmp"
End Sub
VB.net與VB不同。
VB.net已經(jīng)有專門繪圖的類。
可以定義筆刷然后用Drawing類中的方法繪制。
Private Sub DrawEllipse()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Private Sub DrawRectangle()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Dim b As New Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(b)
g.Clear(Color.White)
Dim p As New Pen(Color.Black)
p.EndCap = Drawing2D.LineCap.ArrowAnchor
g.DrawLine(p, 30, PictureBox1.Height - 30, 30, 30)
g.DrawLine(p, 30, PictureBox1.Height - 30, PictureBox1.Width - 30, PictureBox1.Height - 30)
Dim i As Integer
Dim bs As New SolidBrush(Color.Green)
Dim po As New Point
po.X = 0
po.Y = PictureBox1.Height - 35
For i = 700 To 1000 Step 50
g.DrawString(i, Me.Font, bs, po.X, po.Y)
g.DrawLine(p, po.X + 28, po.Y + 5, po.X + 30, po.Y + 5)
po.Y -= (PictureBox1.Height - 100) / 6
Next
po.X = 30
po.Y = PictureBox1.Height - 30
For i = 0 To 40 Step 5
g.DrawString(i, Me.Font, bs, po.X, po.Y + 5)
g.DrawLine(p, po.X, po.Y + 2, po.X, po.Y)
po.X += (PictureBox1.Width - 100) / 8
Next
PictureBox1.Image = b
繪圖是系統(tǒng)內(nèi)部操作的,不需要懂原理
方法就在那里,只有會用和不會用,你的代碼告訴它繪制,它就會繪制。它(方法)究竟如何去繪制的并不是重點,反正它會繪制。
drawline(繪線)方法很簡單,第一個參數(shù)是pen,它確定線條的顏色、寬度和樣式。第二、第三個參數(shù)都是point類型,確定兩個點的位置,繪制直線。
vb.net沒有自動重畫功能,要在Paint事件中寫代碼對圖形重畫。
另外一種情況,如果在Image屬性設(shè)置了一幅圖像,圖像能夠保持完整性的。所以你可以把圖形繪在位圖上,把位圖綁定到Image屬性上。
先綁定一幅位圖:
Dim bm as New BitMap(800,600)
PictureBox1.Image=bm
作圖時不是對圖片框,而是在位圖上作圖。
dim gr As Grapthics=Graphics.FromImage(bm) '建立位圖的繪圖設(shè)備
接下來就可用gr 的繪圖方法作圖
作完圖,PictureBox1.Refresh 刷新一下。