VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
Vintasoft.Imaging.ImageProcessing.Transforms Namespace / QuadrilateralWarpCommand Class
Members Object Syntax Remarks Example Hierarchy Requirements SeeAlso
In This Topic
QuadrilateralWarpCommand Class
In This Topic
Transforms an image using quadrilateral warp or unwarp (IsInverseTransform).
Object Model
ColorBase RegionOfInterest ProcessingCommandResults QuadrilateralWarpCommand
Syntax
'Declaration

Public Class QuadrilateralWarpCommand
   Inherits ImageTransformationBasedCommand

public class QuadrilateralWarpCommand : ImageTransformationBasedCommand

Remarks

Inverse transform can be used to perspective correction.

Example

This C#/VB.NET code shows how to load an image from disk, skew the image horizontally and save the result to a new image file.


Public Sub ProcessImage()
    ' [ do not forget to set your image file path here! ]
    ' create an image collection
    Using images As New Vintasoft.Imaging.ImageCollection()
        ' add image to the image collection
        images.Add("Flower.jpg")
        Try
            ' create the image processing command
            Dim command As New Vintasoft.Imaging.ImageProcessing.Transforms.QuadrilateralWarpCommand(New System.Drawing.PointF() {New System.Drawing.PointF(50, 50), New System.Drawing.PointF(175, 75), New System.Drawing.PointF(75, 175), New System.Drawing.PointF(250, 250)})

            ' subscribe to progress event of image processing command
            AddHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)

            Try
                ' for each image in image collection
                For Each image As Vintasoft.Imaging.VintasoftImage In images
                    ' apply the image processing command to the image
                    command.ExecuteInPlace(image)
                Next
            Catch ex As Vintasoft.Imaging.ImageProcessing.ImageProcessingException
                ' show error message
                System.Windows.Forms.MessageBox.Show(ex.Message)
                Return
            End Try

            ' save the processed image collection to a new TIFF file
            images.SaveSync("processed-image.tif")
        Finally
            images.ClearAndDisposeItems()
        End Try
    End Using
End Sub

Private Sub command_Progress(sender As Object, e As Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)
    ' update progress info using e.Progress property
    ' ...

    ' cancel execution of command using e.Cancel property if necessary
    ' ...
End Sub


public void ProcessImage()
{
    // [ do not forget to set your image file path here! ]
    // create an image collection
    using (Vintasoft.Imaging.ImageCollection images = new Vintasoft.Imaging.ImageCollection())
    {
        // add image to the image collection
        images.Add("Flower.jpg");
        try
        {
            // create the image processing command
            Vintasoft.Imaging.ImageProcessing.Transforms.QuadrilateralWarpCommand command =
                new Vintasoft.Imaging.ImageProcessing.Transforms.QuadrilateralWarpCommand(
                    new System.Drawing.PointF[] {
                    new System.Drawing.PointF(50, 50), new System.Drawing.PointF(175, 75),
                    new System.Drawing.PointF(75, 175), new System.Drawing.PointF(250, 250)
                        });

            // subscribe to progress event of image processing command
            command.Progress +=
                new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);

            try
            {
                // for each image in image collection
                foreach (Vintasoft.Imaging.VintasoftImage image in images)
                {
                    // apply the image processing command to the image
                    command.ExecuteInPlace(image);
                }
            }
            catch (Vintasoft.Imaging.ImageProcessing.ImageProcessingException ex)
            {
                // show error message
                System.Windows.Forms.MessageBox.Show(ex.Message);
                return;
            }

            // save the processed image collection to a new TIFF file
            images.SaveSync("processed-image.tif");
        }
        finally
        {
            images.ClearAndDisposeItems();
        }
    }
}

void command_Progress(object sender, Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs e)
{
    // update progress info using e.Progress property
    // ...

    // cancel execution of command using e.Cancel property if necessary
    // ...
}

Inheritance Hierarchy
Requirements

Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also