求vb大神 已知两点坐标 圆半径 如何画两点间圆弧 要代码示例 一定要圆弧 不能是扇形

如题所述

用Circle画圆圆弧椭圆都可以具体参照下面的详细说明Circle(1000,1000),500,8,-6,-31000,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指定(以弧度为单位)弧的起点和终点位置。其范围从-2pi到2pi。起点的缺省值是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匛ndWith语句块中。--------------------------------------------------------------------------------Circle方法示例这个示例用Circle方法在窗体中央画许多同心圆。要运行这个示例,将此代码放入窗体的General部分。按F5并单击窗体。SubForm_Click()DimCX,CY,Radius,Limit'Declarevariable.ScaleMode=3'以像素为单位。CX=ScaleWidth/2'X位置。CY=ScaleHeight/2'Y位置。IfCX>CYThenLimit=CYElseLimit=CXForRadius=0ToLimit'半径。Circle(CX,CY),Radius,RGB(Rnd*255,Rnd*255,Rnd*255)NextRadiusEndSub--------------------------------------------------------------------------------
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-29
OptionExplicitPrivateSubForm_click()ClsDimi,jAsSingleMe.Scale(-1,10)-(25,-1)'定义坐标系,原点靠近左下角Line(-1,0)-(25,0)'画x轴Line(0,-1)-(0,10)'画Y轴Fori=-1To25Step1'画X轴刻度Ifi0ThenLine(i,0)-(i,0.2)CurrentX=i-0.3:CurrentY=-0.2PrintiEndIfNextForj=-1To10'画Y轴刻度Ifj0ThenLine(0,j)-(0.3,j)CurrentX=-0.7:CurrentY=j+0.1PrintjEndIfNextCurrentX=-0.4:CurrentY=-0.2Print"0"'画原点CurrentX=0.5:CurrentY=9.5Print"Y"CurrentX=24:CurrentY=0.5Print"X"RandomizeCurrentX=1:CurrentY=Format(Rnd*10,"0.00")Fori=2To24Line-(i,Format(Rnd*10,"0.00"))'这里是随机生成的数据!NextEndSub