package com.sliw.graphics; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Graphics; /** * * @author 章伟 * Graphics对象也可以被用来绘制和填充弧形,例如圆和椭圆。弧形的表示方法为 Arc(x,y,w,h,startAngle,arcAngle),它们都由坐标系上的一个轮廓所限定。绘制方法为: (1)以坐标(x,y)为起点,沿x轴正方向延伸w个 单位,沿y轴的正方向延伸h个单位,得到一个矩形,此虚拟矩形内切绘制一个椭圆(如果w和h相 等,则为圆)。 (2)以矩形的中心为圆心,以时钟3点的方向为0°,逆时针为正方向,从0°正方向旋转startAngle 度,和椭圆相交得到一条直线和一个交点。 (3)从这条直线开始,正方向旋转arcAngle度,得到另一条直线和交点,这样就得到了一个两交点之间的 圆弧。 (4)这个圆弧和两条直线得到一个封闭的区域, 弧线的绘制和填充就以这个封闭区域为基础。整个绘制过程如图3-5所示。 drawArc(int left, int top, int width, int height, int startAngle, int endAngle); * */ public class ArcCanvas extends Canvas{ protected void paint(Graphics g) { // TODO Auto-generated method stub drawArc(g); } public void drawArc(Graphics g){ g.drawArc(0, 0, 100, 100, 30, 120); } }