VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
Vintasoft.Imaging.ImageProcessing Namespace / ProcessPathCommand Class
Члены типа Объект Синтаксис Example Иерархия Требования Смотрите также
В этом разделе
    Класс ProcessPathCommand
    В этом разделе
    Команда обработки изображения, которая выполняет команду над изображением, используя графический путь.
    Объектная модель
    ProcessingCommandBase IGraphicsPath AffineMatrix ProcessingCommandResults ProcessPathCommand
    Синтаксис
    'Declaration
    
    Public Class ProcessPathCommand
       Inherits ProcessingCommandBase
    
    
    public class ProcessPathCommand : ProcessingCommandBase
    
    
    public __gc class ProcessPathCommand : public ProcessingCommandBase*
    
    
    public ref class ProcessPathCommand : public ProcessingCommandBase^
    
    
    Пример

    Вот C#/VB.NET код, который демонстрирует, как загрузить изображение с диска, применить фильтр тиснения к области изображения, указанной в IGraphicsPath, и сохранить результат в новый файл изображения.

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

    Иерархия наследования

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

    Требования

    Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    Смотрите также