VintaSoft Imaging .NET SDK 14.1: Документация для .NET разработчика
Vintasoft.Imaging.ImageProcessing Namespace / ProcessPathCommand Class
Члены типа Объект Синтаксис Example Иерархия Требования Смотрите также
    Класс ProcessPathCommand
    Команда обработки изображения, которая выполняет команду над изображением, используя графический путь.
    Объектная модель
    ProcessingCommandBase IGraphicsPath AffineMatrix ProcessingCommandResults ProcessPathCommand
    Синтаксис
    'Declaration
    
    Public Class ProcessPathCommand
       Inherits 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 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

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