本例效果图:

DrawArc:绘制一段弧线,它表示由一对坐标、宽度和高度指定的‘椭圆’的一部分。

2010.12.3 我再重新学习了这个,可能格的太长时间没练习了,结果因为在旋转角度那块理解错误,致使外圆的线画出来只有一种颜色,搞的我还以为是D2010的BUG呢,呵呵

var
  g: TGPGraphics;
  p: TGPPen;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  p := TGPPen.Create(MakeColor(255,0,0),2);
  g.Clear(aclWhite);

  g.DrawArc(p,11,32,300,200,0,90);    {假设有一条从左端到右边的直线,右端为0度,中间为圆心,左端为180度,我让它从0度到90度画一条弧线}

  p.SetColor(aclCrimson);
  g.DrawLine(p,11,133,161,133);

  p.SetColor(MakeColor(0,255,0));
  g.DrawArc(p,11,32,300,200,90,90);   {我让它从90度开始,再画多90度的一段弧线}

  p.SetColor(aclDeepPink);
  g.DrawLine(p,161,133,311,133);

  p.SetColor(MakeColor(0,0,255));
  g.DrawArc(p,11,32,300,200,180,90);  {我让它从180度开始,再画多90度的一段弧线}

  p.SetColor(MakeColor(255,255,0));
  g.DrawArc(p,11,32,300,200,270,90);  {我让它从270度开始,再画多90度的一段弧线,至此,刚刚一个圆}

  p.SetColor(MakeColor(0,0,0));
  g.DrawArc(p,88,88,200,100,0,360);   {如果直接从 0 度开始不间断地延伸 360 度, 就是画椭圆线了}

  p.Free;
  g.Free;
end;

 

posted on 2010-10-12 04:30  巅枫  阅读(1654)  评论(0编辑  收藏  举报