你说的是GDI+里的方法吗?
成都创新互联公司公司2013年成立,先为滦南等服务建站,滦南等地企业,进行企业商务咨询服务。为滦南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
我记得没有drawCircle这个方法的,只有画DrawElipse椭圆和DrawArc这2个方法,分别表示画椭圆(画圆统一用DrawElipse方法)和画弧(画椭圆弧统一用DrawArc方法)。
统一的方法如何实现椭圆、圆的呢?其实是用椭圆、圆的外切矩形来表示的。椭圆跟圆的唯一区别是它们外切矩形的长宽比不同,圆是一个正方形,椭圆是矩形,而且椭圆需要考虑有可能画转了角度的情况的椭圆,长轴与x轴是有特定角度的。
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占用的资源
在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
Public a(8) As OvalShape
Dim canvas= New Microsoft.VisualBasic.PowerPacks.ShapeContainer
ConstCircleSize As Integer= 20
Const Dist As Integer = 10
Const Gap As Integer = 50
Dim i As Integer
canvas.Parent = Me.Panel1
For i =0 To 8
a(i) = NewOvalShape
a(i).Size = New Size(CircleSize,CircleSize)
a(i).Location = New Point(Dist +Gap * (i Mod 3), Dist + Gap * (i \ 3))
a(i).BorderWidth = 3
a(i).Enabled = True
a(i).Visible = True
a(i).Parent = canvas
Next
窗体上添加一个按钮,在该按钮的单击事件里编写代码如下:
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的内切椭圆。
用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 -------------------------------------------------------------------------------