# C1.Framework.Drawing.Gdi.DeviceContexts.DeviceContext.DrawPolyBezier

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Framework_Drawing_Gdi_DeviceContexts_DeviceContext_DrawPolyBezier_" data-uid="C1.Framework.Drawing.Gdi.DeviceContexts.DeviceContext.DrawPolyBezier*">DrawPolyBezier Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Framework_Drawing_Gdi_DeviceContexts_DeviceContext_DrawPolyBezier_" data-uid="C1.Framework.Drawing.Gdi.DeviceContexts.DeviceContext.DrawPolyBezier*"></a>
<h4 id="C1_Framework_Drawing_Gdi_DeviceContexts_DeviceContext_DrawPolyBezier_System_Drawing_Point___" data-uid="C1.Framework.Drawing.Gdi.DeviceContexts.DeviceContext.DrawPolyBezier(System.Drawing.Point[])">DrawPolyBezier(Point[])</h4>
<div class="markdown level1 summary"><p>Draws one or more Bezier curves.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public virtual void DrawPolyBezier(Point[] points)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Overridable Sub DrawPolyBezier(points As Point())</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.drawing.point">Point</a>[]</td>
      <td><span class="parametername">points</span></td>
      <td><p>An array of <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.drawing.point">Point</a>structures that contain the endpoints and control points of the curve(s).
This value must be one more than three times the number of curves to be drawn,
because each Bzier curve requires two control points and an endpoint,
and the initial curve requires an additional starting point.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 id="C1_Framework_Drawing_Gdi_DeviceContexts_DeviceContext_DrawPolyBezier_System_Drawing_Point____remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>
  DrawPolyBezier draws cubic Bzier curves by using the endpoints and control points specified by the <code>points</code> 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.
</p>
<p>
  The lines are drawn from the first point through subsequent points by using the current pen.
  <b>Windows 95/98/Me</b>: DrawPolyBezier cannot draw more than a certain number of points.
  The limit depends on the line width (that is, the width of the pen selected into the DC)
<p><b>Line width</b>                                                 <b>Maximum points allowed</b>
line width is 1                                                   16K
line width &gt; 1 (that is, wideline) and device supports wideline   16K
line width &gt; 1 but device does not support wideline               approximately 1360 (that is, approximately 16K/12)</p>

<p>
  Any extra points are ignored. To draw a line with more points, divide the data into groups
  that have less than the maximum number of points and call the function for each group of points.
  Remember to connect the line segments.
</p>
</div>
<h5 class="exceptions">Exceptions</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Condition</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="C1.Framework.SystemErrorException.html">SystemErrorException</a></td>
      <td></td>
    </tr>
  </tbody>
</table>
</div>
