設(shè)置Region屬性:
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),平魯網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平魯?shù)鹊貐^(qū)。平魯做網(wǎng)站價(jià)格咨詢:028-86922220
Dim path As New System.Drawing.Drawing2D.GraphicsPath
path.AddEllipse(0, 0, 400, 300)
Region = New Region(path)
記得VB6當(dāng)中有Shape控件,但是VB.net里這個(gè)控件不存在了。
提個(gè)思路:使用Picture控件或Label控件,通過代碼在控件里繪圖想要的圖形,可以試試。
新建一個(gè)Winform,拖兩個(gè)圖片框。圖片框1在設(shè)計(jì)器中選擇一個(gè)圖片(尺寸在圖片框容納為佳)。如下代碼測試通過:
private?void?button1_Click(object?sender,?EventArgs?e)
{
Image?img1?=?this.pictureBox1.Image;
Image?img2?=?CropToCircle(img1);
this.pictureBox2.Image?=?img2;
}
public?Image?CropToCircle(Image?img1)
{
Image?img2?=?new?Bitmap(img1.Width,?img1.Height,?
img1.PixelFormat);
Graphics?g?=?Graphics.FromImage(img2);
using?(Brush?br?=?
new?SolidBrush(SystemColors.Control))//背景色
{
g.FillRectangle(br,?0,?0,?
img2.Width,?img2.Height);
}
GraphicsPath?path?=?new?GraphicsPath();
path.AddEllipse(0,?0,?img2.Width,?img2.Height);
g.SetClip(path);
g.DrawImage(img1,?0,?0);
return?img2;
}
在PictureBox1上畫紅色的實(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è)按鈕,在該按鈕的單擊事件里編寫代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'聲明窗體的Me.CreateGraphics對象
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。
說明:
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),邊長為50的正方形里繪制內(nèi)切圓。理解了是在正方形里繪制內(nèi)切圓,就可以通過數(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),長軸為100,短軸為50的內(nèi)切橢圓。
本文標(biāo)題:關(guān)于圓形識(shí)別vb.net的信息
文章鏈接:http://jinyejixie.com/article18/dsedgdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、云服務(wù)器、品牌網(wǎng)站制作、商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)