VintaSoft Imaging .NET SDK v8.7
Vintasoft.Imaging.ImageProcessing.Color Namespace / CurvesCommand Class
Members Example



In This Topic
    CurvesCommand Class
    In This Topic
    Changes the color map of an image.
    Object Model
    CurvesCommand ClassRegionOfInterest ClassProcessingCommandResults ClassProcessingCommandResult Class
    Syntax
    Remarks
    Use the Curves16Command class if if image with 8-bits per color channel must be processed.
    Example
    This example shows how to load an image from disk, change curves in the specified region of the image and save the result to a new image file.
    Class CurvesCommandExample
        Public Sub ProcessImage()
            ' [ do not forget to set your image file path here! ]
            ' open an existing image
            Dim image As New Vintasoft.Imaging.VintasoftImage("Flower.jpg")
                
            ' create luminance map (usually luminance map is taken from convenient control)
            Dim luminanceMap As Byte() = New Byte(255) {}
            For i As Integer = 0 To 127
                luminanceMap(i) = CByte(i)
            Next
            For i As Integer = 128 To 254
                luminanceMap(i) = CByte(255 - i)
            Next
                
            ' create the command
            Dim command As New Vintasoft.Imaging.ImageProcessing.Color.CurvesCommand(luminanceMap)
            ' set the region-of-interest to the left part of the image
            command.RegionOfInterest = New Vintasoft.Imaging.RegionOfInterest(0, 0, image.Width \ 2, image.Height)
            ' subscribe to progress event
            AddHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)
                
            Try
                ' execute the command
                command.ExecuteInPlace(image)
            Catch ex As Vintasoft.Imaging.ImageProcessing.ImageProcessingException
                ' show error message if problem occured
                System.Windows.Forms.MessageBox.Show(ex.Message)
                Return
            End Try
                
            ' save the processed image to the new file
            image.Save("processed-image.tif")
        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 CurvesCommandExample
    {
        public void ProcessImage()
        {
            // [ do not forget to set your image file path here! ]
            // open an existing image
            Vintasoft.Imaging.VintasoftImage image = new Vintasoft.Imaging.VintasoftImage("Flower.jpg");
                
            // create luminance map (usually luminance map is taken from convenient control)
            byte[] luminanceMap = new byte[256];
            for (int i = 0; i < 128; i++)
            {
                luminanceMap[i] = (byte)(i);
            }
            for (int i = 128; i < 255; i++)
            {
                luminanceMap[i] = (byte)(255 - i);
            }
                
            // create the command
            Vintasoft.Imaging.ImageProcessing.Color.CurvesCommand command =
                new Vintasoft.Imaging.ImageProcessing.Color.CurvesCommand(luminanceMap);
            // set the region-of-interest to the left part of the image
            command.RegionOfInterest = new Vintasoft.Imaging.RegionOfInterest(0, 0, image.Width / 2, image.Height);
            // subscribe to progress event
            command.Progress +=
                new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);
                
            try
            {
                // execute the command
                command.ExecuteInPlace(image);
            }
            catch (Vintasoft.Imaging.ImageProcessing.ImageProcessingException ex)
            {
                // show error message if problem occured
                System.Windows.Forms.MessageBox.Show(ex.Message);
                return;
            }
                
            // save the processed image to the new file
            image.Save("processed-image.tif");
        }
                
        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.ProcessingCommandWithRegion
             Vintasoft.Imaging.ImageProcessing.Color.CurvesCommand

    Requirements

    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also