Click here to Skip to main content
11,631,796 members (72,476 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: GDI+
Hi,

I have a question about using "GraphicsPath.AddArc".

There is no problem to draw an arc when bound rectangle is not rotated.

  Path.AddArc( Center.getX(), Center.getY(), Radius, Radius, startAngle, sweepAngle );

But when the rectangle is rotated with an angle, the arc will be wrong.

How can I correctly using it?

Thanks,
Posted 22-Dec-10 22:20pm
transoft2.5K
Edited 22-Dec-10 22:34pm
v3

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

They do not need to worry about a rotation because all transformation will be added after the path creating:

    
    // Create a RoundedRectangle:
    GraphicsPath path = RoundedRectangle.Create(20, 20, 100, 100, 15);
 
    // Draw the created RoundedRectangle:
    e.Graphics.FillPath(Brushes.Blue, path);
 
    // Rotate it clockwise 45 degrees about its center:
    Matrix matrix = new Matrix();
    matrix.RotateAt(45, new Point(70,70));
    path.Transform(matrix);
 
    // Draw the rotated RoundedRectangle:
    e.Graphics.FillPath(Brushes.Blue, path);
 
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS


Advertise | Privacy | Mobile
Web04 | 2.8.150728.1 | Last Updated 6 Jan 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100