SAMPLE: PATPOLY Demos Polygon Filled with Dithered Color

Last reviewed: February 15, 1996
Article ID: Q98619
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) for Windows versions 3.0 and 3.1

SUMMARY

PATPOLY is a file in the Microsoft Software Library 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.

Download PATPOLY.EXE, a self-extracting file, from the Microsoft Software Library (MSL) on the following services:

  • Microsoft Download Service (MSDL)

          Dial (206) 936-6735 to connect to MSDL
          Download PATPOLY.EXE (size: 26720 bytes) 
    
  • Internet (anonymous FTP)

          ftp ftp.microsoft.com
          Change to the \SOFTLIB\MSLFILES directory
          Get PATPOLY.EXE (size: 26720 bytes) 
    

MORE INFORMATION

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 1 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.


Additional reference words: 3.00 3.10 softlib PATPOLY.EXE
KBCategory: kbprg kbfile
KBSubcategory: GdiDrw


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 15, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.