VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
Vintasoft.Imaging.ImageProcessing Namespace / ProcessPathCommand Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
ProcessPathCommand Class
In This Topic
Image processing command which executes a command on the image using graphical path.
Object Model
ProcessingCommandBase IGraphicsPath AffineMatrix ProcessingCommandResults ProcessPathCommand
Syntax
'Declaration

Public Class ProcessPathCommand
   Inherits ProcessingCommandBase

public class ProcessPathCommand : ProcessingCommandBase

Example

This C#/VB.NET code shows how to load an image from disk, apply the emboss filter to an image region specified by IGraphicsPath and save the result to a new image file.


Class ProcessPathCommandExample
    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.ProcessPathCommand()

                ' create graphics path
                Using graphicsPath As Vintasoft.Imaging.Drawing.IGraphicsPath = Vintasoft.Imaging.Drawing.DrawingFactory.[Default].CreateGraphicsPath()
                    graphicsPath.AddRectangle(New System.Drawing.Rectangle(0, 0, 50, 50))
                    graphicsPath.AddEllipse(New System.Drawing.Rectangle(60, 60, 80, 80))
                    command.Path = graphicsPath
                    command.Command = New Vintasoft.Imaging.ImageProcessing.Filters.EmbossCommand()

                    ' 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
                End Using

                ' 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
End Class


class ProcessPathCommandExample
{
    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.ProcessPathCommand command =
                    new Vintasoft.Imaging.ImageProcessing.ProcessPathCommand();
                
                // create graphics path
                using (Vintasoft.Imaging.Drawing.IGraphicsPath graphicsPath =
                    Vintasoft.Imaging.Drawing.DrawingFactory.Default.CreateGraphicsPath())
                {
                    graphicsPath.AddRectangle(new System.Drawing.Rectangle(0, 0, 50, 50));
                    graphicsPath.AddEllipse(new System.Drawing.Rectangle(60, 60, 80, 80));
                    command.Path = graphicsPath;
                    command.Command = new Vintasoft.Imaging.ImageProcessing.Filters.EmbossCommand();

                    // 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

System.Object
   Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
      Vintasoft.Imaging.ImageProcessing.ProcessPathCommand

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