創(chuàng)建一個(gè)工程,窗口上面放一個(gè)PictureBox,大小相對(duì)大一些,將其ScaleMode屬性設(shè)為3。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到宣恩網(wǎng)站設(shè)計(jì)與宣恩網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋宣恩地區(qū)。
然后放一個(gè)按鈕,其中加入以下代碼:
'這段代碼演示了如何使用VB的Circle方法繪制各種各樣的圓。
Form1.Picture1.Circle (60, 60), 40, vbRed '畫(huà)一個(gè)圓心(60,60)半徑40的紅色的圓(默認(rèn)空心)
Form1.Picture1.FillStyle = 0 '設(shè)定填充模式為實(shí)心
Form1.Picture1.FillColor = vbBlue '設(shè)定填充色藍(lán)色
Form1.Picture1.Circle (190, 60), 40, vbRed '下來(lái)畫(huà)出來(lái)的就是填充了實(shí)心藍(lán)色的圓了
Form1.Picture1.DrawWidth = 3 '設(shè)定邊框?qū)挾葹?
Form1.Picture1.Circle (60, 190), 40, vbRed '這次繪制出來(lái)的圓邊框粗細(xì)為3
Form1.Picture1.DrawStyle = 5 '設(shè)定邊框不可見(jiàn)
Form1.Picture1.FillColor = vbRed '設(shè)定填充色紅色
Form1.Picture1.Circle (190, 190), 40 '這次繪制出來(lái)一個(gè)無(wú)邊框、填充顏色是紅色的圓
Form1.Picture1.Refresh
然后試試看,對(duì)照注釋?xiě)?yīng)該就明白了。
————————————————
PS:對(duì)樓上 wys_sans給出的方法的評(píng)價(jià):
其方法1、根本不能稱作畫(huà)圓;
其方法2、很顯然Circle可以直接畫(huà)實(shí)心的圓,只是這位不知道而已;
其方法3、效率極低效果極差的最糟糕方法。
VB.NET沒(méi)用過(guò)
VB6的話用form.circle方法畫(huà)圓,圓的半徑和圓點(diǎn)用form.width或者form.height乘以比例數(shù)來(lái)得到,然后在form_resize事件中重畫(huà)圓就可以了
不知道和VB.NET差別大不大
Dim myGraphics As Graphics = Me.CreateGraphics '聲明并創(chuàng)建一個(gè)Graphics對(duì)象
Dim myPen As Pen = New Pen(Drawing.Color.Black, 3) '聲明一個(gè)畫(huà)筆,并設(shè)定顏色和粗細(xì)
myPen.DashStyle = Drawing.Drawing2D.DashStyle.Solid '線型,Solid是實(shí)線
myGraphics.DrawEllipse(myPen, 200, 200, 100, 100) '畫(huà)圓,數(shù)值依次是:橫坐標(biāo)、縱坐標(biāo)、寬度和高度(寬高相同為正圓,否則為橢圓)
myGraphics.Dispose() '釋放Graphics占用的資源
用Circel方法。
首先要做個(gè)容器,指明你在什么地方畫(huà)。比如在窗體上,那么就是form1.Circel
Circel方法需要的參數(shù)、格式:
[容器名.]Circel[[step]
(X,Y),
半徑,
[,顏色][,起始角][,終止角][,長(zhǎng)短軸比率]]
例:form1.Circel(25,25),
10,
RGB(100,100,50)
就是說(shuō)在(25,25)為圓心半徑為10畫(huà)個(gè)該顏色的圓。
在PictureBox1上畫(huà)紅色的實(shí)心圓:
Private Sub DrawCircle(ByVal cp As Point, ByVal radius As Integer, ByVal color As Brush)
Dim gr As Graphics
gr = PictureBox1.CreateGraphics
Dim rect As Rectangle = New Rectangle(cp.X - radius, cp.Y - radius, 2 * radius, 2 * radius)
gr.DrawEllipse(Pens.Black, rect)
gr.FillEllipse(color, rect)
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
DrawCircle(New Point(120, 100), 80, Brushes.Red)
End Sub
窗體上添加一個(gè)按鈕,在該按鈕的單擊事件里編寫(xiě)代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'聲明窗體的Me.CreateGraphics對(duì)象
Dim MyGraphics As Graphics = Me.CreateGraphics
Dim Cx As Integer = 150 '圓心的X坐標(biāo)
Dim Cy As Integer = 150 '圓心的Y坐標(biāo)
Dim R As Integer '圓的半徑
'繪制半徑為R的圓
For R = 5 To 100 Step 5
MyGraphics.DrawEllipse(Pens.Black, New Rectangle(Cx - R, Cy - R, 2 * R, 2 * R))
Next
End Sub
‘用黑色畫(huà)筆繪制一組同心圓,半徑從5開(kāi)始,增量為5。
說(shuō)明:
DrawEllipse是VB.Net的Graphics類的繪制橢圓的方法;他有幾種格式,上面使用的是一種;
DrawEllipse(畫(huà)筆的顏色,繪制橢圓所需要的矩形區(qū)域)
其中:繪制橢圓所需要的矩形區(qū)域,如果被定義為正方形,就演變成繪制圓,定義該區(qū)域由死個(gè)數(shù)值確定,第1個(gè)數(shù)值,確定該區(qū)域左上角的X坐標(biāo),第2個(gè)數(shù)值,確定該區(qū)域左上角的Y坐標(biāo),第3個(gè)數(shù)值,確定該區(qū)域的寬度,第4個(gè)數(shù)值,確定該區(qū)域的高度。
例如1:
DrawEllipse(Pens.Black, New Rectangle(150, 150, 50, 50))
就是以圓心坐標(biāo)為(100,100),繪制半徑為50 的圓。其實(shí)在VB.NET中,是告訴系統(tǒng)在以左上角坐標(biāo)(150,150),邊長(zhǎng)為50的正方形里繪制內(nèi)切圓。理解了是在正方形里繪制內(nèi)切圓,就可以通過(guò)數(shù)學(xué)計(jì)算,知道如何繪制了。
同理例如2:
DrawEllipse(Pens.Black, New Rectangle(150, 150, 100, 50))
就是以圓心坐標(biāo)為(100,100),繪制半徑為50 的圓。其實(shí)在VB.NET中,是告訴系統(tǒng)在以左上角坐標(biāo)(150,150),長(zhǎng)軸為100,短軸為50的內(nèi)切橢圓。