vb.net画同心圆,c语言画同心圆

如何用VB.NET画同心圆

窗体上添加一个按钮,在该按钮的单击事件里编写代码如下:

成都创新互联专注于蠡县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供蠡县营销型网站建设,蠡县网站制作、蠡县网页设计、蠡县网站官网定制、小程序开发服务,打造蠡县网络公司原创品牌,更为您提供蠡县网站排名全网营销落地服务。

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的内切椭圆。

用VB画出同心圆

Option Explicit

Private Sub Form_Load()

PaintOnForm Me

End Sub

Public Function PaintOnForm(f As Form)

Dim i As Integer, b As Boolean

i = f.ScaleMode

b = f.AutoRedraw

f.ScaleMode = 3

f.AutoRedraw = True

f.Circle (100, 100), 50

f.Circle (100, 100), 80

f.AutoRedraw = b

f.ScaleMode = i

f.Refresh

End Function

Public Function PaintOnPic(p As PictureBox)

Dim i As Integer, b As Boolean

i = p.ScaleMode

b = p.AutoRedraw

p.ScaleMode = 3

p.AutoRedraw = True

p.Circle (100, 100), 50

p.Circle (100, 100), 80

p.AutoRedraw = b

p.ScaleMode = i

p.Refresh

End Function

'如果在PictureBox上画就用第二个函数

VB中circle函数

Circle(1000,1000),500,8,-6,-3

1000,1000,圆心坐标

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 指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。

aspect 可选的。 Single (单精度浮点数),圆的纵横尺寸比。缺省值为 1.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 = 3 ' 以像素为单位。

CX = ScaleWidth / 2 ' X 位置。

CY = ScaleHeight / 2 ' Y 位置。

If CX CY Then Limit = CY Else Limit = CX

For Radius = 0 To Limit ' 半径。

Circle (CX, CY), Radius,RGB(Rnd * 255, Rnd * 255, Rnd * 255)

Next Radius

End Sub

--------------------------------------------------------------------------------

应用于:

Form 对象、Forms 集合

PictureBox 控件

PropertyPage 对象

UserControl 对象


分享文章:vb.net画同心圆,c语言画同心圆
文章来源:http://abwzjs.com/article/dsipedo.html