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



In This Topic
    Curves16Command Class
    In This Topic
    Curves command for images of 16-bit pixel format.
    Object Model
    Curves16Command ClassRegionOfInterest ClassProcessingCommandResults ClassProcessingCommandResult Class
    Syntax
    Remarks
    Use the CurvesCommand class if image with 16-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.Curves16Command

    Requirements

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

    See Also