Delphi下的GDI+编程[8] 绘制弧形-DrawArc

本例效果图:

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;

 

转载于:https://www.cnblogs.com/keyvip/archive/2010/10/12/1848401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值