Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.28
|
Leadtools Namespace : RasterCurve Class |
public class RasterCurve
'Declaration
Public Class RasterCurve
'Usage
Dim instance As RasterCurve
public sealed class RasterCurve
function Leadtools.RasterCurve()
public ref class RasterCurve
The RasterCurve class defines the curve to be used with the AddCurveToRegion method to draw a curve using an array of LeadPoint objects. The ToBezierPoints method is used to convert a curve to a Bezier. The RasterCurve class can define two types of curves, RasterCurveType.Standard and RasterCurveType.Bezier.
This sample creates a smooth region that goes through five points, and inverts the region.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Color Public Sub RasterCurveExample() Dim codecs As RasterCodecs = New RasterCodecs() ' load an image Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_curveinverted.bmp") Dim image As RasterImage = codecs.Load(srcFileName) ' create a new curve object Dim curve As RasterCurve = New RasterCurve() ' define the the curve curve.Points.Add(New LeadPoint(30, 30)) curve.Points.Add(New LeadPoint(30, 200)) curve.Points.Add(New LeadPoint(130, 130)) curve.Points.Add(New LeadPoint(75, 75)) curve.Points.Add(New LeadPoint(130, 30)) curve.Type = RasterCurveType.Standard curve.FillMode = LeadFillMode.Winding curve.Tension = 0.5 curve.Close = RasterCurveClose.Close image.AddCurveToRegion(Nothing, curve, RasterRegionCombineMode.Set) ' do something with the region Dim cmd As InvertCommand = New InvertCommand() cmd.Run(image) ' save the image back to disk codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24) ' Cleanup image.Dispose() 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 RasterCurveExample() { string destFileName = Path.Combine(ImagesPath.Path, "Image1_curveinverted.bmp"); // create a new curve object RasterCurve curve = new RasterCurve(); // define the the curve curve.Points.Add(new LeadPoint(30, 30)); curve.Points.Add(new LeadPoint(30, 200)); curve.Points.Add(new LeadPoint(130, 130)); curve.Points.Add(new LeadPoint(75, 75)); curve.Points.Add(new LeadPoint(130, 30)); curve.Type = RasterCurveType.Standard; curve.FillMode = LeadFillMode.Winding; curve.Tension = 0.5; curve.Close = RasterCurveClose.Close; // create an image using (RasterImage image = new RasterImage( RasterMemoryFlags.Conventional, 250, 250, 24, RasterByteOrder.Bgr, RasterViewPerspective.BottomLeft, null, IntPtr.Zero, 0)) { Assert.IsNotNull(image); // fill the image new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Magenta)).Run(image); image.AddCurveToRegion(null, curve, RasterRegionCombineMode.Set); // do something with the region new InvertCommand().Run(image); // save the image using (RasterCodecs codecs = new RasterCodecs()) { // save the image back to disk codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24); } } }