重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创建一个工程,窗口上面放一个PictureBox,大小相对大一些,将其ScaleMode属性设为3。
站在用户的角度思考问题,与客户深入沟通,找到宣恩网站设计与宣恩网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、网页空间、企业邮箱。业务覆盖宣恩地区。
然后放一个按钮,其中加入以下代码:
'这段代码演示了如何使用VB的Circle方法绘制各种各样的圆。
Form1.Picture1.Circle (60, 60), 40, vbRed '画一个圆心(60,60)半径40的红色的圆(默认空心)
Form1.Picture1.FillStyle = 0 '设定填充模式为实心
Form1.Picture1.FillColor = vbBlue '设定填充色蓝色
Form1.Picture1.Circle (190, 60), 40, vbRed '下来画出来的就是填充了实心蓝色的圆了
Form1.Picture1.DrawWidth = 3 '设定边框宽度为3
Form1.Picture1.Circle (60, 190), 40, vbRed '这次绘制出来的圆边框粗细为3
Form1.Picture1.DrawStyle = 5 '设定边框不可见
Form1.Picture1.FillColor = vbRed '设定填充色红色
Form1.Picture1.Circle (190, 190), 40 '这次绘制出来一个无边框、填充颜色是红色的圆
Form1.Picture1.Refresh
然后试试看,对照注释应该就明白了。
————————————————
PS:对楼上 wys_sans给出的方法的评价:
其方法1、根本不能称作画圆;
其方法2、很显然Circle可以直接画实心的圆,只是这位不知道而已;
其方法3、效率极低效果极差的最糟糕方法。
VB.NET没用过
VB6的话用form.circle方法画圆,圆的半径和圆点用form.width或者form.height乘以比例数来得到,然后在form_resize事件中重画圆就可以了
不知道和VB.NET差别大不大
Dim myGraphics As Graphics = Me.CreateGraphics '声明并创建一个Graphics对象
Dim myPen As Pen = New Pen(Drawing.Color.Black, 3) '声明一个画笔,并设定颜色和粗细
myPen.DashStyle = Drawing.Drawing2D.DashStyle.Solid '线型,Solid是实线
myGraphics.DrawEllipse(myPen, 200, 200, 100, 100) '画圆,数值依次是:横坐标、纵坐标、宽度和高度(宽高相同为正圆,否则为椭圆)
myGraphics.Dispose() '释放Graphics占用的资源
用Circel方法。
首先要做个容器,指明你在什么地方画。比如在窗体上,那么就是form1.Circel
Circel方法需要的参数、格式:
[容器名.]Circel[[step]
(X,Y),
半径,
[,颜色][,起始角][,终止角][,长短轴比率]]
例:form1.Circel(25,25),
10,
RGB(100,100,50)
就是说在(25,25)为圆心半径为10画个该颜色的圆。
在PictureBox1上画红色的实心圆:
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
窗体上添加一个按钮,在该按钮的单击事件里编写代码如下:
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坐标
Dim Cy As Integer = 150 '圆心的Y坐标
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(画笔的颜色,绘制椭圆所需要的矩形区域)
其中:绘制椭圆所需要的矩形区域,如果被定义为正方形,就演变成绘制圆,定义该区域由死个数值确定,第1个数值,确定该区域左上角的X坐标,第2个数值,确定该区域左上角的Y坐标,第3个数值,确定该区域的宽度,第4个数值,确定该区域的高度。
例如1:
DrawEllipse(Pens.Black, New Rectangle(150, 150, 50, 50))
就是以圆心坐标为(100,100),绘制半径为50 的圆。其实在VB.NET中,是告诉系统在以左上角坐标(150,150),边长为50的正方形里绘制内切圆。理解了是在正方形里绘制内切圆,就可以通过数学计算,知道如何绘制了。
同理例如2:
DrawEllipse(Pens.Black, New Rectangle(150, 150, 100, 50))
就是以圆心坐标为(100,100),绘制半径为50 的圆。其实在VB.NET中,是告诉系统在以左上角坐标(150,150),长轴为100,短轴为50的内切椭圆。