用Circle 畫圓 圓弧 橢圓 都 具體參照面詳細(xì)說(shuō)明 Circle(一000,一000),500,吧,-陸,-三 一000,一000,圓坐標(biāo) 500,半徑 面別代表起始角,終止角,短軸比率 吧,詳細(xì)點(diǎn),Circle都說(shuō)遍 象畫圓、橢圓或弧 語(yǔ) object.Circle [Step] (x, y), radius, [color, start, end, aspect] Circle 語(yǔ)象限定符部: 部 描述 object 選 象表達(dá)式其值應(yīng)用于列表象object 省略具焦點(diǎn)窗體作object Step 選關(guān)鍵字 指定圓、橢圓或弧相于前 object CurrentX CurrentY 屬性提供坐標(biāo) (x, y) 必需 Single (單精度浮點(diǎn)數(shù))圓、橢圓或弧坐標(biāo)object ScaleMode 屬性決定使用度量單位 radius 必需Single (單精度浮點(diǎn)數(shù))圓、橢圓或弧半徑 object ScaleMode 屬性決定使用度量單位 color 選Long (整型數(shù))圓輪廓 RGB 顏色省略則使用 ForeColor 屬性值用 RGB 函數(shù)或 QBColor 函數(shù)指定顏色 start, end 選 Single (單精度浮點(diǎn)數(shù))弧、或部圓或橢圓畫完start end 指定(弧度單位)弧起點(diǎn)終點(diǎn)位置其范圍 -二 pi 二 pi 起點(diǎn)缺省值0; 終點(diǎn)缺省值二 * pi aspect 選 Single (單精度浮點(diǎn)數(shù))圓縱橫尺寸比缺省值 一.0何屏幕都產(chǎn)標(biāo)準(zhǔn)圓(非橢圓) 說(shuō)明 想要填充圓使用圓或橢圓所屬象 FillColor FillStyle 屬性封閉圖形才能填充封閉圖形包括圓、橢圓、或扇形 畫部圓或橢圓 start 負(fù)Circle 畫半徑 start并角度處理; end 負(fù)Circle 畫半徑 end并角度處理Circle 總逆針()向繪圖 畫圓、橢圓或弧線段粗細(xì)取決于 DrawWidth 屬性值背景畫圓取決于 DrawMode DrawStyle 屬性值 畫角度 0 扇形要畫條半徑(向右畫水平線段)給 start 規(guī)定負(fù)值要給 0 .省略語(yǔ)間某參數(shù)能省略隔參數(shù)逗號(hào)您指定參數(shù)面逗號(hào)省略 Circle 執(zhí)行CurrentX CurrentY 屬性參數(shù)設(shè)置點(diǎn) 能用 With匛nd With 語(yǔ)句塊 -------------------------------------------------------------------------------- Circle 示例 示例用Circle 窗體央畫許同圓要運(yùn)行示例代碼放入窗體 General 部按 F5 并單擊窗體 Sub Form_Click () Dim CX, CY, Radius, Limit ' Declare variable. ScaleMode = 三 ' 像素單位 CX = ScaleWidth / 二 ' X 位置 CY = ScaleHeight / 二 ' Y 位置 If CX CY Then Limit = CY Else Limit = CX For Radius = 0 To Limit ' 半徑 Circle (CX, CY), Radius,RGB(Rnd * 二55, Rnd * 二55, Rnd * 二55) Next Radius End Sub -------------------------------------------------------------------------------
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了老河口免費(fèi)建站歡迎大家使用!
畫橢圓
圓的方位比,決定了圓是顯得很圓(圓)還是被拉長(zhǎng)(橢圓)。Circle 方法的完整語(yǔ)法是:
[object.]Circle [Step](x, y), radius, [color], , [, aspect]
start 參數(shù)和 end 參數(shù)是可選的;但是,如果想省掉參數(shù),逗號(hào)是不能省的。例如:如果含有 radius 參數(shù)和 aspect 參數(shù),省掉了 color、start、end 三個(gè)參數(shù),則必須加上四個(gè)連續(xù)的逗號(hào),它表明這三個(gè)參數(shù)被省掉了。
Circle (1000, 1000), 500, , , , 2
aspect 參數(shù)指定了水平長(zhǎng)度和垂直長(zhǎng)度比。該 aspect 參數(shù)是正浮點(diǎn)數(shù),這說(shuō)明它既可以是整數(shù)表達(dá)式,也可以是小數(shù)表達(dá)式,但不能是負(fù)數(shù)。該 aspect 參數(shù)較大時(shí),橢圓沿垂直軸線拉長(zhǎng);相反,該 aspect 參數(shù)較小時(shí),則沿水平軸線拉長(zhǎng)。由于橢圓有兩個(gè)半徑—水平方向的 x 半徑和垂直方向 y 半徑— Visual Basic 在 Circle 語(yǔ)句中只使用了一個(gè)參數(shù) radius 對(duì)應(yīng)橢圓的長(zhǎng)軸。如果 aspect 參數(shù)小于 1 的話,該 radius 半徑指的是水平方向的 x 半徑,如果 aspect 參數(shù)大于或等于 1 的話,則 radius 指的是垂直方向的 y 半徑。
注意 aspect 參數(shù)指定的總是水平長(zhǎng)度和垂直長(zhǎng)度的實(shí)際物理距離比,要保證這一點(diǎn)(即便用的是自定義標(biāo)尺),半徑應(yīng)以水平單位指定。
下列過(guò)程說(shuō)明的是,不同的 aspect 參數(shù)值,Circle 方法是如何決定對(duì) radius 參數(shù)的使用的;是將它作為橢圓的 x 半徑,還是作為橢圓的 y 半徑:
Private Sub Form_Click ()
'畫一個(gè)實(shí)心橢圓。
FillStyle = 0
Circle (600, 1000), 800, , , , 3
'畫一個(gè)空心橢圓。
FillStyle = 1
Circle (1800, 1000), 800, , , , 1 / 3
End Sub
窗體上添加一個(gè)按鈕,在該按鈕的單擊事件里編寫代碼如下:
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
‘用黑色畫筆繪制一組同心圓,半徑從5開始,增量為5。
說(shuō)明:
DrawEllipse是VB.Net的Graphics類的繪制橢圓的方法;他有幾種格式,上面使用的是一種;
DrawEllipse(畫筆的顏色,繪制橢圓所需要的矩形區(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)切橢圓。
若是靜態(tài)地畫圖,只需在窗體上添加兩個(gè)Shape控件Shape1和Shape2,將其Shape屬性均設(shè)置為3,將其FillStyle屬性分別設(shè)置為2和3即可,不需任何代碼。如下圖:
運(yùn)行效果如下:
若是要?jiǎng)討B(tài)地畫圖,則需設(shè)計(jì)界面和編寫代碼,例如:
Const PI As Single = 3.1415926
Const k As Integer = 4
Const m As Integer = 50
Dim r As Single, t As Single
Private Sub Command1_Click()
Me.Timer1.Interval = 10
End Sub
Private Sub Form_Load()
Me.Picture1.Height = 6000
Me.Picture1.Width = 6000
Me.Picture1.Left = 100
Me.Picture1.Top = 100
Me.Command1.Height = 370
Me.Command1.Width = 1200
Me.Command1.Top = Me.Picture1.Top + Me.Picture1.Height + Me.Picture1.Top
Me.Height = 400 + Me.Picture1.Top + Me.Picture1.Height + Me.Picture1.Top + Me.Command1.Height + Me.Picture1.Top
Me.Width = Me.Picture1.Left + Me.Picture1.Width + 2 * Me.Picture1.Left
Me.Command1.Left = (Me.Width - Me.Command1.Width) / 2
Me.Text1.Left = 200
Me.Text1.Top = Me.Command1.Top + 50
Me.Text2.Left = Me.Width - Me.Text2.Width - 1.5 * Me.Text1.Left
Me.Text2.Top = Me.Text1.Top
Me.Picture1.Scale (-Me.Picture1.ScaleWidth / 2, Me.Picture1.ScaleHeight / 2)-(Me.Picture1.ScaleWidth / 2, -Me.Picture1.ScaleHeight / 2)
Me.Picture1.PSet (0, 0), vbRed
r = Me.Picture1.ScaleWidth / 2 * 7 / 8
t = PI / (180 * k)
Me.Timer1.Interval = 0
End Sub
Private Sub Timer1_Timer()
Static i As Long
Me.Text1.Text = Int(i / k) "°"
Me.Picture1.PSet (r * Cos(i * t), r * Sin(i * t)), vbRed
i = i + 1
If i 720 * 2 Then Me.Timer1.Interval = 0: Me.Timer2.Interval = 100
End Sub
Private Sub Timer2_Timer()
Static i As Long
Me.Text2.Text = Int(i) * 100 "ms"
Me.Picture1.Line (-Sqr(r ^ 2 - (-i * r / m) ^ 2), -i * r / m)-(Sqr(r ^ 2 - (-i * r / m) ^ 2), -i * r / m), vbRed
Me.Picture1.Line (-Sqr(r ^ 2 - (-i * r / m) ^ 2), i * r / m)-(Sqr(r ^ 2 - (-i * r / m) ^ 2), i * r / m), vbRed
i = i + 1
If i m Then Me.Timer2.Interval = 0
End Sub
運(yùn)行效果如下:
Private Sub Command1_Click()
Me.FillStyle = 0 '填充模式為實(shí)心
Me.FillColor = vbRed '填充顏色為紅色
Me.Circle (Me.ScaleWidth \ 2, Me.ScaleHeight \ 2), Me.ScaleHeight \ 3, vbRed, -2 * pi, -pi
'在窗體正中畫一個(gè)半徑為窗體三分之一高的紅色實(shí)心半圓
End Sub
添加以個(gè)TEXT2,一個(gè)按鈕,復(fù)制一下代碼即可Private Sub Command2_Click()
Dim i As Integer
'i = Val(Text2.Text)
For i = 1 To Val(Text2.Text)
Form3.Picture1.Circle (120, 260), i * 10, vbRed
Next
'Form3.Picture1.Circle (60, 60), 40, vbRed '畫一個(gè)圓心(60,60)半徑40的紅色的圓(默認(rèn)空心)
'
'
'Form3.Picture1.FillStyle = 0 '設(shè)定填充模式為實(shí)心
'Form3.Picture1.FillColor = vbBlue '設(shè)定填充色藍(lán)色
'Form3.Picture1.Circle (190, 60), 40, vbRed '下來(lái)畫出來(lái)的就是填充了實(shí)心藍(lán)色的圓了
'
'
'Form3.Picture1.DrawWidth = 3 '設(shè)定邊框?qū)挾葹?
'Form3.Picture1.Circle (60, 190), 40, vbRed '這次繪制出來(lái)的圓邊框粗細(xì)為3
'
'Form3.Picture1.DrawStyle = 5 '設(shè)定邊框不可見
'Form3.Picture1.FillColor = vbRed '設(shè)定填充色紅色
'Form3.Picture1.Circle (190, 190), 40 '這次繪制出來(lái)一個(gè)無(wú)邊框、填充顏色是紅色的圓
Form3.Picture1.Refresh
End Sub