Error processing SSI file
LEADTOOLS (Leadtools assembly)

Show in webframe

ToBezierPoints Method








Converts the curve points to an array of Bézier points.
Syntax
public LeadPoint[] ToBezierPoints()
'Declaration
 
Public Function ToBezierPoints() As LeadPoint()
'Usage
 
Dim instance As RasterCurve
Dim value() As LeadPoint
 
value = instance.ToBezierPoints()
public LeadPoint[] ToBezierPoints()
 function Leadtools.RasterCurve.ToBezierPoints()
public:
array<LeadPoint>^ ToBezierPoints(); 

Return Value

An array of LeadPoint values that contain the Bézier points.
Remarks

This method is used to convert a standard curve to an array of Bézier control points. A standard curve (RasterCurveType.Standard) is defined by the current RasterCurve. The standard curve passes through all of the points in the Points collection, and is continuous at each point. This method can be used to draw a curve by converting it to an array of Bézier points, using System.Drawing.Graphics.DrawBeziers to draw the equivalent Bezier(s).

Example

This sample draws a smooth closed curve on a graphics that goes through five points.

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color

      
  Public Sub ToBezierPointsExample()
   ' Define the curve
   Dim curve As RasterCurve = New RasterCurve()
   curve.Points.Add(New LeadPoint(130, 130))
   curve.Points.Add(New LeadPoint(130, 300))
   curve.Points.Add(New LeadPoint(230, 230))
   curve.Points.Add(New LeadPoint(175, 175))
   curve.Points.Add(New LeadPoint(230, 130))

   curve.Type = RasterCurveType.Standard
   curve.FillMode = LeadFillMode.Winding
   curve.Tension = 0.5
   curve.Close = RasterCurveClose.Close

   ' convert this curve into bezier points
   Dim bezierPoints As LeadPoint() = curve.ToBezierPoints()

   ' Draw this curve on a bitmap
   Using btmp As New System.Drawing.Bitmap(400, 400)
      Using g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(btmp)
         g.FillRectangle(System.Drawing.Brushes.White, New System.Drawing.Rectangle(0, 0, 400, 400))

         ' Convert the LeadPoint array to a Point array
         Dim pts(bezierPoints.Length - 1) As System.Drawing.Point
         For i As Integer = 0 To bezierPoints.Length - 1
            pts(i) = New System.Drawing.Point(bezierPoints(i).X, bezierPoints(i).Y)
         Next

         g.DrawBeziers(System.Drawing.Pens.Black, pts)
      End Using

      ' save this image to disk
      Dim fileName As String = Path.Combine(LEAD_VARS.ImagesDir, "ToBezierPoints.bmp")
      btmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp)

   End Using
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;

      
public void ToBezierPointsExample()
{
   // Define the curve
   RasterCurve curve = new RasterCurve();
   curve.Points.Add(new LeadPoint(130, 130));
   curve.Points.Add(new LeadPoint(130, 300));
   curve.Points.Add(new LeadPoint(230, 230));
   curve.Points.Add(new LeadPoint(175, 175));
   curve.Points.Add(new LeadPoint(230, 130));

   curve.Type = RasterCurveType.Standard;
   curve.FillMode = LeadFillMode.Winding;
   curve.Tension = 0.5;
   curve.Close = RasterCurveClose.Close;

   // convert this curve into bezier points
   LeadPoint[] bezierPoints = curve.ToBezierPoints();

   // Draw this curve on a bitmap
   using (System.Drawing.Bitmap btmp = new System.Drawing.Bitmap(400, 400))
   {
      using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(btmp))
      {
         g.FillRectangle(System.Drawing.Brushes.White, new System.Drawing.Rectangle(0, 0, 400, 400));

         // Convert the LeadPoint array to a Point array
         System.Drawing.Point[] pts = new System.Drawing.Point[bezierPoints.Length];
         for (int i = 0; i < bezierPoints.Length; i++)
         {
            pts[i] = new System.Drawing.Point(bezierPoints[i].X, bezierPoints[i].Y);
         }

         g.DrawBeziers(System.Drawing.Pens.Black, pts);
      }

      // save this image to disk
      string fileName = Path.Combine(ImagesPath.Path, "ToBezierPoints.bmp");
      btmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);
   }
}
Requirements

Target Platforms

See Also

Reference

RasterCurve Class
RasterCurve Members

Error processing SSI file