PATPOLY Demos Polygon Filled with Dithered Color (98619)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q98619

SUMMARY

Patpoly.exe is a file that demonstrates how to draw a polygon so that the entire polygon, including the border, can be filled with a dithered color in an application for the Microsoft Windows environment.

MORE INFORMATION

The following files are available for download from the Microsoft Download Center:

Patpoly.exe
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

It is not possible to fill a polygon and its border with a dithered color using just a call to the Windows Polygon() Application Programming Interface (API), because of problems producing the border with a dithered color. Using a NULL pen doesn't work because not all of the interior and border will be filled. Pens with a width of one can have only solid colors, so they don't work. Wider pens can have a dithered color, but because the pen is centered on the polygon border as defined by the vertex points, the resulting polygon is larger than defined by the vertices. Also, the PS_INSIDEFRAME pen style does not have any affect when used with Polygon().

To accomplish the desired result, the PatPolygon() function first creates a monochrome mask of the polygon in a memory Device Context (DC), and then blits the mask transparently to the screen using a pattern brush containing the dithered color.

This sample also demonstrates how to load a Device-Independent Bitmap (DIB) resource and create a DIB pattern brush with it.

Modification Type:MinorLast Reviewed:8/4/2004
Keywords:kbdownload kbdownload kbfile kbinfo KB98619 kbAudDeveloper