SAMPLE: How to Draw Cubic Bezier Curves in Windows and Win32s

Last reviewed: February 15, 1996
Article ID: Q135058
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) for Windows version 3.1
  • Microsoft Win32 Application Programming Interface (API) included with:

        - Microsoft Windows 95 version 4.0
        - Microsoft Win32s version 1.3
    

SUMMARY

You can get the functionality provided by the Win32 PolyBezier() function on the Windows 3.1 and Win32s platforms. The Bezier sample code shows by example how to draw cubic Bezier curves as well as curves with other degrees on both Windows version 3.1 and Win32s.

Download BEZIER.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 BEZIER.EXE (size: 28704 bytes) 
    
  • Internet (anonymous FTP)

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

MORE INFORMATION

The PolyBezier() function draws cubic Bezier curves by using the endpoints and control points specified by the lppt parameter. The first curve is drawn from the first point to the fourth point by using the second and third points as control points. Each subsequent curve in the sequence needs exactly three more points: the ending point of the previous curve is used as the starting point, the next two points in the sequence are control points, and the third is the ending point.

Steps to Using the Sample Code

  1. Compile the sample code using the .mak file that corresponds to the platform you are running (Bezier.mak for Win32s and Bezier16.mak for Win16).

  2. Run the compiled program.

  3. Use the left mouse button to position the endpoints and the control points in the client area. As soon as you've positioned enough points to draw a curve with the current degree (the default is cubic so you'll need four points), the curve will be drawn. Keep in mind that if you set the degree to a higher value, you'll have to position degree+1 points before the curve can be calculated and displayed.


Additional reference words: 1.30 3.10 4.00 Windows 95 Stones GDI
KBCategory: kbgraphic kbcode kbfile
KBSubcategory: GdiMisc


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.