代碼:
成都創新互聯為企業級客戶提高一站式互聯網+設計服務,主要包括網站設計、做網站、APP應用開發、重慶小程序開發、宣傳片制作、LOGO設計等,幫助客戶快速提升營銷能力和企業形象,創新互聯各部門都有經驗豐富的經驗,可以確保每一個作品的質量和創作周期,同時每年都有很多新員工加入,為我們帶來大量新的創意。
Public?Class?Form1
'*********************************************************************???
'作者:章魚哥,QQ:3107073263?群:309816713???????
'如有疑問或好的建議請聯系我,大家一起進步?????
'*********************************************************************?????
'繪制圓角矩形函數
Private?Function?GetRoundedRectPath(ByVal?rect?As?Rectangle,?ByVal?radius?As?Integer)?As?System.Drawing.Drawing2D.GraphicsPath
rect.Offset(-1,?-1)
Dim?RoundRect?As?New?Rectangle(rect.Location,?New?Size(radius?-?1,?radius?-?1))
Dim?path?As?New?System.Drawing.Drawing2D.GraphicsPath
path.AddArc(RoundRect,?180,?90)?????'左上角
RoundRect.X?=?rect.Right?-?radius???'右上角
path.AddArc(RoundRect,?270,?90)
RoundRect.Y?=?rect.Bottom?-?radius??'右下角
path.AddArc(RoundRect,?0,?90)
RoundRect.X?=?rect.Left?????????????'左下角
path.AddArc(RoundRect,?90,?90)
path.CloseFigure()
Return?path
End?Function
'繪制矩形
Private?Sub?DrawingRect()
Dim?g?As?Graphics?=?Me.CreateGraphics
Dim?Pen?As?New?Pen(Brushes.DarkRed,?2)
Dim?Hei?As?Integer?=?Me.Height
Dim?Wid?As?Integer?=?Me.Width
'矩形的位置和長寬隨著窗體的變化而改變
Dim?Rec?As?New?Rectangle(Int(Wid?/?5),?Int(Hei?/?5),?Int(Wid?/?2),?Int(Hei?/?2))
'??g.DrawRectangle(Pen,?Rec)
'清楚現有的矩形
g.Clear(Me.BackColor)
g.DrawPath(Pen,?GetRoundedRectPath(Rec,?30))
End?Sub
Private?Sub?Form1_Paint(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?MyBase.Paint
DrawingRect()
End?Sub
Private?Sub?Form1_SizeChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.SizeChanged
Me.Invalidate()?'此函數可引發Paint事件
End?Sub
End?Class
效果截圖:
原窗口:
縮小后:
請用 API 函數 RoundRect。
例子(點擊窗體,畫圓角矩形):
Private Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Sub Form_Click()
Call RoundRect(Me.hdc, 10, 10, 110, 110, 10, 10)
End Sub
參數:
hdc 設備上下文。比如 Me.hDC,Picture1.hDC就可以。
X1,Y1 左上角
X2,Y2 右下角
X3,Y3 圓角內偏移(即圓角半徑,0表示直角)
上面的坐標什么的都以像素計,不同于VB默認的Twip
用Circle 畫圓 圓弧 橢圓 都 具體參照面詳細說明 Circle(一000,一000),500,吧,-陸,-三 一000,一000,圓坐標 500,半徑 面別代表起始角,終止角,短軸比率 吧,詳細點,Circle都說遍 象畫圓、橢圓或弧 語 object.Circle [Step] (x, y), radius, [color, start, end, aspect] Circle 語象限定符部: 部 描述 object 選 象表達式其值應用于列表象object 省略具焦點窗體作object Step 選關鍵字 指定圓、橢圓或弧相于前 object CurrentX CurrentY 屬性提供坐標 (x, y) 必需 Single (單精度浮點數)圓、橢圓或弧坐標object ScaleMode 屬性決定使用度量單位 radius 必需Single (單精度浮點數)圓、橢圓或弧半徑 object ScaleMode 屬性決定使用度量單位 color 選Long (整型數)圓輪廓 RGB 顏色省略則使用 ForeColor 屬性值用 RGB 函數或 QBColor 函數指定顏色 start, end 選 Single (單精度浮點數)弧、或部圓或橢圓畫完start end 指定(弧度單位)弧起點終點位置其范圍 -二 pi 二 pi 起點缺省值0; 終點缺省值二 * pi aspect 選 Single (單精度浮點數)圓縱橫尺寸比缺省值 一.0何屏幕都產標準圓(非橢圓) 說明 想要填充圓使用圓或橢圓所屬象 FillColor FillStyle 屬性封閉圖形才能填充封閉圖形包括圓、橢圓、或扇形 畫部圓或橢圓 start 負Circle 畫半徑 start并角度處理; end 負Circle 畫半徑 end并角度處理Circle 總逆針()向繪圖 畫圓、橢圓或弧線段粗細取決于 DrawWidth 屬性值背景畫圓取決于 DrawMode DrawStyle 屬性值 畫角度 0 扇形要畫條半徑(向右畫水平線段)給 start 規定負值要給 0 .省略語間某參數能省略隔參數逗號您指定參數面逗號省略 Circle 執行CurrentX CurrentY 屬性參數設置點 能用 With匛nd With 語句塊 -------------------------------------------------------------------------------- Circle 示例 示例用Circle 窗體央畫許同圓要運行示例代碼放入窗體 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 -------------------------------------------------------------------------------
新聞標題:關于vb.net劃圓角四邊型的信息
URL鏈接:http://vcdvsql.cn/article36/hpjdsg.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、ChatGPT、企業網站制作、定制開發、網站制作、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯