private function init():void
{
//popSip.setTitle(images);
var stag:UIComponent=new UIComponent();
testCanvas.addChild(stag);
var moviec:MovieClip=new MovieClip;
moviec.graphics
stag.addChild(moviec);
DrawSector(moviec,100,100,100,S_angle,0,0xffcc00);
timer=new Timer(1000,0);
timer.start();
timer.addEventListener(TimerEvent.TIMER,setMoveC);
}
private var timer:Timer;
private var S_angle:int=360;
private function setMoveC(event:TimerEvent):void
{
S_angle--;
var uiC:UIComponent=testCanvas.getChildAt(0) as UIComponent;
var moviec:MovieClip=uiC.getChildAt(0) as MovieClip;
DrawSector(moviec,100,100,100,S_angle,0,0xffcc00);
/* S_angle is expressed as a number between 0 and 360 degrees. it will draw a 60
* degree sector in this example, but you could change it to what ever you want
*/
/*
* mc the movieclip: the container of the sector.
* x,y the center position of the sector
* r the radius of the sector
* angle the angle of the sector
* startFrom the start degree counting point : 270 top, 180 left, 0 right, 90 bottom ,
* it is counting from top in this example.
* color the fil lin color of the sector
*/
}
private function DrawSector(mc:MovieClip,x:Number=200,y:Number=200,r:Number=100,angle:Number=27,startFrom:Number=270,color:Number=0xff0000):void {
mc.graphics.clear();
mc.graphics.beginFill(color,0.5);
//remove this line to unfill the sector
/* the border of the secetor with color 0xff0000 (red) , you could replace it with any color
* you want like 0x00ff00(green) or 0x0000ff (blue).
*/
// mc.graphics.
mc.graphics.lineStyle(0,0xff0000);
mc.graphics.moveTo(x,y);
angle=(Math.abs(angle)>360)?360:angle;
var n:Number=Math.ceil(Math.abs(angle)/45);
var angleA:Number=angle/n;
angleA=angleA*Math.PI/180;
startFrom=startFrom*Math.PI/180;
mc.graphics.lineTo(x+r*Math.cos(startFrom),y+r*Math.sin(startFrom));
for (var i=1; i<=n; i++) {
startFrom+=angleA;
var angleMid=startFrom-angleA/2;
var bx=x+r/Math.cos(angleA/2)*Math.cos(angleMid);
var by=y+r/Math.cos(angleA/2)*Math.sin(angleMid);
var cx=x+r*Math.cos(startFrom);
var cy=y+r*Math.sin(startFrom);
mc.graphics.curveTo(bx,by,cx,cy);
}
if (angle!=360) {
mc.graphics.lineTo(x,y);
}
mc.graphics.endFill();// if you want a sector without filling color , please remove this line.
}
分享到:
相关推荐
描述中提到的"**简单画图程序**"可能指的是一个基础的MFC应用程序,它仅包含一个视图,并且这个视图的`OnDraw()`函数中实现了扇形的绘制。这样的程序可以帮助开发者理解如何将GDI绘图与MFC框架结合使用。 在实际...
在Qt框架下,可以利用QPainter类的画图功能;而在.NET Framework中,可能需要自定义控件并重绘OnPaint事件。 实现扇形窗体的关键步骤包括: 1. **计算扇形坐标**:根据窗体的大小、中心位置、半径和所需的角度,...
这通常需要利用`Canvas`类和`Paint`类进行定制化画图。开发者需要计算每个扇叶的角度、半径以及它们在屏幕上的位置,然后通过`canvas.drawArc()`方法来绘制每个扇形部分。 2. **动画效果**:为了让菜单的打开和关闭...
我们可以根据数据集中的每一行数据来计算圆心角,并画出对应的扇形。整个过程可以生成一个美观的饼图。 ASP.NET 画图全攻略可以帮助我们生成丰富、动态的图表,以便更好地显示和分析数据。利用 ASP.NET 中关于图像...
在实际应用中,你可能需要结合事件处理程序,如`MouseDown`和`MouseMove`,来实现动态画图,使用户可以通过鼠标交互地绘制图形。例如,你可以创建一个变量来存储鼠标按下时的位置,然后在鼠标移动时更新`Circle`方法...
在MFC中,窗口类(CWnd)提供了一个OnPaint()函数,这是用于处理窗口画图的主要入口。当窗口需要重绘时,系统会调用这个函数。在这个函数中,我们可以使用CDC(Device Context)类来执行各种绘图操作,如绘制线条、...
《扇形块钻孔夹具总装手绘图解析》 在机械加工领域,钻孔夹具是不可或缺的一部分,它们用于固定工件,确保在钻孔过程中保持精确的位置和姿态,从而实现高精度的孔加工。本文将深入探讨一种特殊类型的夹具——扇形块...
在这个“用MFC做的简单画图程序”中,我们主要探讨了如何利用MFC框架构建一个基本的图形绘制工具,该工具能够支持直线、圆形、扇形以及矩形的绘制,同时具备选择颜色、调整线条粗细、使用橡皮擦以及画刷等实用功能。...
这个程序允许用户绘制多种图形,包括直线、曲线、圆弧、扇形和方形,并且具备图形移动的功能。以下是对这个"vc++画图程序源码"的详细解析和相关知识点: 1. **VC++6.0**:这是一个经典的微软Visual C++开发工具,它...
在这个特定的项目中,"MFC画图板"是一个基于MFC的程序,允许用户在界面上绘制各种基本图形,包括直线、椭圆、扇形、矩形、弦形和三角形,并且能够将这些图形保存为BMP格式的图像文件。 1. **MFC框架**: MFC框架...
在OpenGL中,我们可能需要先定义一个扇形,然后使用这个算法来填充或描边。 在实际编程中,我们需要重写`OnPaint`函数,以便在每次窗口重绘时调用OpenGL的绘图函数。这些函数可能包括`glBegin()`, `glEnd()`, `...
### VC++画图板设计与实现 #### 一、项目背景及目标 本课程设计的主要目的是让学生通过实际操作,深入理解和掌握使用Visual C++ (VC++) 开发环境进行软件开发的基本方法和技术。通过本项目的实践,学生将能够熟悉...
8. **圆角矩形与弧线**: `drawRoundRect()`方法用于绘制带有圆角的矩形,而`drawArc()`方法则用于绘制弧线或扇形。这两个方法都需要指定矩形或圆心的坐标,以及半径和旋转角度。 9. **喷枪功能**: 喷枪功能通常涉及...
本文将详细介绍使用JavaScript绘制圆、弧和扇形的方法。在绘制这些几何图形的过程中,需要用到一些基本的数学概念,比如坐标系、圆的参数方程、弧度制等。同时,还会涉及到一些基础的JavaScript语法和函数,用于在...
**知识点详解** ... - 提供了画图练习,如画出特定圆心角的扇形,以及求解阴影部分的面积和周长。 通过这些学习材料,学生可以深入理解扇形的性质,掌握如何计算扇形的面积和周长,从而进一步提升对圆的理解。
饼图的每一部分都是一个扇形,通过计算每个扇形的角度来实现。使用`FillPie`和`DrawPie`方法填充和描边饼图的各个部分,这里利用了数据集中每行的值和总基数来计算角度。 9. **绘制图例**: 创建一个矩形作为图例...
标题中的"2014新人教版六年级数学上册(扇形).ppt"表明了这是一个针对六年级学生的数学教学资料...为了深入理解这些概念,学生需要进行大量的练习,包括画图、识别和计算,以确保他们能够灵活运用这些知识解决实际问题。
在iOS开发中,为了实现美观的数据可视化,我们经常需要利用画图类来绘制各种图形,如饼状图。本教程将深入探讨如何使用iOS提供的Core Graphics框架,也称为Quartz 2D,来创建自定义的圆形饼状图。这个过程涉及到多个...
- **活动五:扇形统计图制作探索**:探究画图的步骤,强调计算和比例的重要性。 - **活动六:再归纳制作扇形统计图步骤**:巩固并总结绘制扇形统计图的步骤。 - **活动七:观察不同统计图特点**:对比条形图和折线图...
首先,Java画图板为用户提供了多种画笔工具,包括线条、矩形、多边形、圆形、扇形等,以适应不同的绘图需求。线条工具可以让用户自由地画出直线或曲线,矩形和圆形工具则为快速绘制规则几何图形提供了便利,多边形和...