画圆
10年积累的成都做网站、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有海州免费网站建设让你可以放心的选择与我们合作。
Circle 方法可画出圆形和椭圆形的各种形状。另外,Circle 方法还可以画出圆弧(圆的一部分)和楔形饼块。使用变化的 Circle 方法,可画出多种曲线。
为了画圆,Visual Basic 需要给出该圆的圆心位置和它的半径。画一个理想圆的语法是:
[object.]Circle [Step](x, y), radius[, color]
方括号表明 object 和 Step 关键字是任选项。如果不指定 object,则认为指定的就是当前的窗体。x 参数和 y 参数是圆心的坐标,radius 参数是圆的半径。例如,下面语句将画出一个以 (1200,1000) 为圆心、750 为半径的圆:
Circle (1200, 1000), 750
这个语句产生的精确作用,还要依赖于窗体的大小和窗体的坐标系。如果不知道窗体的大小,也就不能知道这个圆是否可见。可使用绘图区的标尺属性,将该圆的圆心置于窗体的中心处:
Circle ((ScaleWidth + ScaleLeft) / 2, (ScaleHeight + _
ScaleTop) / 2), ScaleWidth / 4
此时,关于 ScaleWidth 和 ScaleHeight 所有应知道的是,它们能帮助将图形定位于窗体的中心。
用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 -------------------------------------------------------------------------------
窗体上添加一个按钮,在该按钮的单击事件里编写代码如下:
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 画圆问题
建立一个工程,视窗上面放一个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关于画圆座标问题?
编写过程中还是程式执行过程中?
执行过程中mouse的各种事件可以读取x,y
编写过程中直接给控制元件的,left属性赋值就可以改变座标
Ansys Workbench 画圆的问题
把滑鼠放到座标原点的时候会变为方框的形状,同时在画圆的时候会显示字母P,以确定圆心在座标原点。
vb右键画圆
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then '左键
End If
If Button = 2 Then '右键
End If
End Sub
vb 画圆 画在picture里
Private Sub Command1_Click()
Dim x, y, r
x = InputBox("请输入圆心座标x", "引数输入", 30)
y = InputBox("请输入圆心座标y", "引数输入", 30)
r = InputBox("请输入半径r", "引数输入", 15)
Picture1.ScaleMode = 3
Picture1.Circle (x, y), r, , 0, 0
End Sub
画圆的问题,求解答
可先尝试用归纳法
在平面上任意作1个圆,这些圆最多可把这个平面分成2个部分
在平面上任意作2个圆,这些圆最多可把这个平面分成4个部分
在平面上任意作3个圆,这些圆最多可把这个平面分成8个部分
在平面上任意作4个圆,这些圆最多可把这个平面分成16个部分
.....
通过总结发现数字之间的规律可得:
在平面上任意作6个圆,这些圆最多可把这个平面分成2^6个部分
用VB程式设计画圆
新增以个TEXT2,一个按钮,复制一下程式码即可Private Sub Command2_Click()
Dim i As Integer
'i = Val(Text2.Text)
For i = 1 To Val(Text2.Text)
Form3.Picture1.Circle (120, 260), i * 10, vbRed
Next
'Form3.Picture1.Circle (60, 60), 40, vbRed '画一个圆心(60,60)半径40的红色的圆(预设空心)
'
'
'Form3.Picture1.FillStyle = 0 '设定填充模式为实心
'Form3.Picture1.FillColor = vbBlue '设定填充色蓝色
'Form3.Picture1.Circle (190, 60), 40, vbRed '下来画出来的就是填充了实心蓝色的圆了
'
'
'Form3.Picture1.DrawWidth = 3 '设定边框宽度为3
'Form3.Picture1.Circle (60, 190), 40, vbRed '这次绘制出来的圆边框粗细为3
'
'Form3.Picture1.DrawStyle = 5 '设定边框不可见
'Form3.Picture1.FillColor = vbRed '设定填充色红色
'Form3.Picture1.Circle (190, 190), 40 '这次绘制出来一个无边框、填充颜色是红色的圆
Form3.Picture1.Refresh
End Sub
Flash cs6矩形画圆角问题
画一个矩形 复制一个在同位置不同图层,然后一个设定圆角 然后二者取半组合
求助关于mfc画圆的问题
用画椭圆的函式Ellipse(x1,y1,x2,y2); x1,y1是椭圆外切矩形的左上角座标,x2,y2是右下角座标。
你只要确保这两点确定的是一个正方形,那么内切的椭圆就正好是圆了。
VB程式设计 滑鼠画圆
建立一个工程,介面上放一个PictureBox控制元件,控制元件名字叫Picture1,然后把下面的程式码复制到工程中,执行检视效果。
Option Explicit
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private DrawEllipse As Boolean
Private dwPoint(1) As POINTAPI
Private Sub Form_Load()
Picture1.ScaleMode = vbPixels
Picture1.AutoRedraw = True
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then
DrawEllipse = True
dwPoint(0).x = CLng(x)
dwPoint(0).y = CLng(y)
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If DrawEllipse = True Then
dwPoint(1).x = CLng(x)
dwPoint(1).y = CLng(y)
Picture1.Cls
Ellipse Picture1.hdc, dwPoint(0).x, dwPoint(0).y, dwPoint(1).x, dwPoint(1).y
Picture1.Refresh
End If
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then
DrawEllipse = False
End If
End Sub