Click here to Skip to main content
11,706,455 members (47,473 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
0 OriginalGriff 192
1 Sergey Alexandrovich Kryukov 141
2 chainerlt 110
3 ppolymorphe 71
4 Mika Wendelius 70
0 OriginalGriff 9,070
1 Sergey Alexandrovich Kryukov 8,413
2 CPallini 5,189
3 Maciej Los 4,746
4 Mika Wendelius 3,676


Advertise | Privacy | Mobile
Web03 | 2.8.150819.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