PRB: CreateEllipticRgn and Ellipse Shapes Not Identical

ID Number: Q83807

3.00 3.10

WINDOWS

Summary:

SYMPTOMS

When the CreateEllipticRgn function is used to create a region in

the shape of an ellipse and the Ellipse function is called with the

same parameters to draw an ellipse on the screen, the calculated

region does not match the drawn ellipse identically.

CAUSE

The Ellipse function includes the lower-right point of the bounding

rectangle in its calculations, while the CreateEllipticRgn function

excludes the lower-right point.

RESOLUTION

To draw a filled ellipse on the screen that matches an elliptic

region, create the region with the CreateEllipticRgn function and

call the FillRgn function to fill the region with the currently

selected brush.

More Information:

The region created by the CreateEllipticRgn is slightly smaller than

the elliptical area created by Ellipse. Unfortunately, decreasing the

width and height of the bounding rectangle by 1 pixel does not solve

the problem. Although changing the parameters of the Ellipse function

in this way produces a smaller ellipse, the new ellipse does not match

the region created with CreateEllipticRgn.

Additional reference words: 3.00 3.10