←Select platform

ToBezierPoints Method

Converts the curve points to an array of Bézier points.
public LeadPoint[] ToBezierPoints() 
Public Function ToBezierPoints() As LeadPoint() 
array<LeadPoint>^ ToBezierPoints();  

Return Value

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


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


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

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(LEAD_VARS.ImagesDir, "ToBezierPoints.bmp"); 
		btmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
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) 
         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:\LEADTOOLS21\Resources\Images" 
End Class 

Target Platforms

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.