`
hje
  • 浏览: 288110 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

画图(扇形)

360 
阅读更多
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在矩形里画扇形

    描述中提到的"**简单画图程序**"可能指的是一个基础的MFC应用程序,它仅包含一个视图,并且这个视图的`OnDraw()`函数中实现了扇形的绘制。这样的程序可以帮助开发者理解如何将GDI绘图与MFC框架结合使用。 在实际...

    扇形不规则窗体.

    在Qt框架下,可以利用QPainter类的画图功能;而在.NET Framework中,可能需要自定义控件并重绘OnPaint事件。 实现扇形窗体的关键步骤包括: 1. **计算扇形坐标**:根据窗体的大小、中心位置、半径和所需的角度,...

    android自定义扇形菜单

    这通常需要利用`Canvas`类和`Paint`类进行定制化画图。开发者需要计算每个扇叶的角度、半径以及它们在屏幕上的位置,然后通过`canvas.drawArc()`方法来绘制每个扇形部分。 2. **动画效果**:为了让菜单的打开和关闭...

    ASP.NET画图全攻略

    我们可以根据数据集中的每一行数据来计算圆心角,并画出对应的扇形。整个过程可以生成一个美观的饼图。 ASP.NET 画图全攻略可以帮助我们生成丰富、动态的图表,以便更好地显示和分析数据。利用 ASP.NET 中关于图像...

    VB Circle方法画弧和扇形

    在实际应用中,你可能需要结合事件处理程序,如`MouseDown`和`MouseMove`,来实现动态画图,使用户可以通过鼠标交互地绘制图形。例如,你可以创建一个变量来存储鼠标按下时的位置,然后在鼠标移动时更新`Circle`方法...

    绘制扇形效果的线条代码

    在MFC中,窗口类(CWnd)提供了一个OnPaint()函数,这是用于处理窗口画图的主要入口。当窗口需要重绘时,系统会调用这个函数。在这个函数中,我们可以使用CDC(Device Context)类来执行各种绘图操作,如绘制线条、...

    扇形块钻孔夹具总装手绘图.docx

    《扇形块钻孔夹具总装手绘图解析》 在机械加工领域,钻孔夹具是不可或缺的一部分,它们用于固定工件,确保在钻孔过程中保持精确的位置和姿态,从而实现高精度的孔加工。本文将深入探讨一种特殊类型的夹具——扇形块...

    用MFC做的简单画图程序

    在这个“用MFC做的简单画图程序”中,我们主要探讨了如何利用MFC框架构建一个基本的图形绘制工具,该工具能够支持直线、圆形、扇形以及矩形的绘制,同时具备选择颜色、调整线条粗细、使用橡皮擦以及画刷等实用功能。...

    vc++画图程序源码

    这个程序允许用户绘制多种图形,包括直线、曲线、圆弧、扇形和方形,并且具备图形移动的功能。以下是对这个"vc++画图程序源码"的详细解析和相关知识点: 1. **VC++6.0**:这是一个经典的微软Visual C++开发工具,它...

    MFC画图板,可以画一些基本图形,如直线,椭圆,扇形,矩形,弦形,三角形。 可以保存为BMP的文件。

    在这个特定的项目中,"MFC画图板"是一个基于MFC的程序,允许用户在界面上绘制各种基本图形,包括直线、椭圆、扇形、矩形、弦形和三角形,并且能够将这些图形保存为BMP格式的图像文件。 1. **MFC框架**: MFC框架...

    OpenGL MFC实现简单画图

    在OpenGL中,我们可能需要先定义一个扇形,然后使用这个算法来填充或描边。 在实际编程中,我们需要重写`OnPaint`函数,以便在每次窗口重绘时调用OpenGL的绘图函数。这些函数可能包括`glBegin()`, `glEnd()`, `...

    VC++画图板论文

    ### VC++画图板设计与实现 #### 一、项目背景及目标 本课程设计的主要目的是让学生通过实际操作,深入理解和掌握使用Visual C++ (VC++) 开发环境进行软件开发的基本方法和技术。通过本项目的实践,学生将能够熟悉...

    JAVA实现画图板

    8. **圆角矩形与弧线**: `drawRoundRect()`方法用于绘制带有圆角的矩形,而`drawArc()`方法则用于绘制弧线或扇形。这两个方法都需要指定矩形或圆心的坐标,以及半径和旋转角度。 9. **喷枪功能**: 喷枪功能通常涉及...

    使用js画图之圆、弧、扇形

    本文将详细介绍使用JavaScript绘制圆、弧和扇形的方法。在绘制这些几何图形的过程中,需要用到一些基本的数学概念,比如坐标系、圆的参数方程、弧度制等。同时,还会涉及到一些基础的JavaScript语法和函数,用于在...

    六年级上册数学圆——扇形的认识和面积计算PPT学习教案.pptx

    **知识点详解** ... - 提供了画图练习,如画出特定圆心角的扇形,以及求解阴影部分的面积和周长。 通过这些学习材料,学生可以深入理解扇形的性质,掌握如何计算扇形的面积和周长,从而进一步提升对圆的理解。

    C# 如何画图

    饼图的每一部分都是一个扇形,通过计算每个扇形的角度来实现。使用`FillPie`和`DrawPie`方法填充和描边饼图的各个部分,这里利用了数据集中每行的值和总基数来计算角度。 9. **绘制图例**: 创建一个矩形作为图例...

    2014新人教版六年级数学上册(扇形).ppt

    标题中的"2014新人教版六年级数学上册(扇形).ppt"表明了这是一个针对六年级学生的数学教学资料...为了深入理解这些概念,学生需要进行大量的练习,包括画图、识别和计算,以确保他们能够灵活运用这些知识解决实际问题。

    iOS画图类画圆形饼状图

    在iOS开发中,为了实现美观的数据可视化,我们经常需要利用画图类来绘制各种图形,如饼状图。本教程将深入探讨如何使用iOS提供的Core Graphics框架,也称为Quartz 2D,来创建自定义的圆形饼状图。这个过程涉及到多个...

    山东省潍坊高新技术产业开发区东明学校七年级数学上册4.4扇形统计图导学案无答案新版青岛版

    - **活动五:扇形统计图制作探索**:探究画图的步骤,强调计算和比例的重要性。 - **活动六:再归纳制作扇形统计图步骤**:巩固并总结绘制扇形统计图的步骤。 - **活动七:观察不同统计图特点**:对比条形图和折线图...

    Java画图板

    首先,Java画图板为用户提供了多种画笔工具,包括线条、矩形、多边形、圆形、扇形等,以适应不同的绘图需求。线条工具可以让用户自由地画出直线或曲线,矩形和圆形工具则为快速绘制规则几何图形提供了便利,多边形和...

Global site tag (gtag.js) - Google Analytics