VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
В этом разделе
    Возможности команд обработки изображений
    В этом разделе

    Обработка нескольких изображений с помощью одной команды обработки изображений

    Одна и та же команда обработки изображения может быть применена к нескольким изображениям.

    Вот C#/VB.NET код, который демонстрирует, как создать команду обработки изображения и применить ее к 3 изображениям:
    Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand command = 
        new Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand(Brightness);
    command.ExecuteInPlace(image1);
    command.ExecuteInPlace(image2);
    command.ExecuteInPlace(image3);
    
    Dim command As New Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand(Brightness)
    command.ExecuteInPlace(image1)
    command.ExecuteInPlace(image2)
    command.ExecuteInPlace(image3)
    


    Обработка области изображения

    Команда обработки изображения, производная от класса ProcessingCommandWithRegion, имеет свойство ProcessingCommandWithRegion.RegionOfInterest и может быть применена только к заданной области изображения.

    Вот C#/VB.NET код, который демонстрирует, как изменить яркость в области изображения:
    Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand command = 
        new Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand(Brightness);
    command.RegionOfInterest = new Vintasoft.Imaging.RegionOfInterest(selectedArea);
    command.ExecuteInPlace(image);
    
    Dim command As New Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand(Brightness)
    command.RegionOfInterest = New Vintasoft.Imaging.RegionOfInterest(selectedArea)
    command.ExecuteInPlace(image)
    


    Контроль прогресса обработки изображения

    За прогресом обработки изображения можно следить с помощью событий ProcessingCommandBase.Started, ProcessingCommandBase.Progress, ProcessingCommandBase.Canceled и ProcessingCommandBase.Finished. События ProcessingCommandBase.Started и ProcessingCommandBase.Progress позволяют остановить обработку изображения.

    Вот C#/VB.NET код, который демонстрирует, как отобразить прогресс обработки изображения:
    public void ChangeBrightnessWithProgress()
    {
        Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand command = 
            new Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand(Brightness);
        command.Progress += 
            new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);
        command.ExecuteInPlace(image);
    }
    
    private void command_Progress(object sender, Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs e)
    {
        System.Console.WriteLine(e.Progress);
        e.Cancel = true;
    }
    
    Public Sub ChangeBrightnessWithProgress()
        Dim command As New Vintasoft.Imaging.ImageProcessing.Color.ChangeBrightnessCommand(Brightness)
        AddHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)
        command.ExecuteInPlace(image)
    End Sub
    
    Private Sub command_Progress(sender As Object, e As Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)
        System.Console.WriteLine(e.Progress)
        e.Cancel = True
    End Sub
    


    Обработка исходного изображения или создание клона исходного изображения перед его обработкой

    Метод ProcessingCommandBase.ExecuteInPlace обрабатывает исходное изображение, то есть выполняет обработку исходного изображения.
    Метод ProcessingCommandBase.Execute создает клон исходного изображения, обрабатывает клонированное изображение и возвращает клонированное изображение.


    Создание пользовательских команд обработки изображений

    ProcessingCommandBase - это базовый класс для всех команд обработки изображений. Пользовательская команда обработки изображения может быть создана с нуля или путем расширения функционала любой существующей команды обработки изображений.