您的位置:首页 > 编程语言 > Delphi

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

2010-10-12 04:30 651 查看
本例效果图:



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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: