VintaSoft Imaging .NET SDK 12.4: Documentation for .NET developer
Vintasoft.Imaging.ImageProcessing.Info Namespace / GetUniqueColorCommand Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
    GetUniqueColorCommand Class
    In This Topic
    Determines the color of image rectangular region if image region contains only one color.
    Object Model
    ColorBase RegionOfInterest ProcessingCommandResults GetUniqueColorCommand
    Syntax
    'Declaration
    
    Public Class GetUniqueColorCommand
       Inherits Vintasoft.Imaging.ImageProcessing.ProcessingCommandWithRegion
    
    
    public __gc class GetUniqueColorCommand : public Vintasoft.Imaging.ImageProcessing.ProcessingCommandWithRegion*
    
    
    public ref class GetUniqueColorCommand : public Vintasoft.Imaging.ImageProcessing.ProcessingCommandWithRegion^
    
    
    Example

    This C#/VB.NET code shows how to load an image from disk and calculate the unique color in the image.

    
    Class GetUniqueColorCommandExample
        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("Deskew.tif")
                Try
                    ' create the image processing command
                    Dim command As New Vintasoft.Imaging.ImageProcessing.Info.GetUniqueColorCommand()
    
                    ' 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)
    
                            ' show result
                            If command.IsColorDetected Then
                                System.Windows.Forms.MessageBox.Show(String.Format("Image has unique color {0}.", command.Color))
                            Else
                                System.Windows.Forms.MessageBox.Show("Image does not have unique color.")
                            End If
                        Next
                    Catch ex As Vintasoft.Imaging.ImageProcessing.ImageProcessingException
                        ' show error message
                        System.Windows.Forms.MessageBox.Show(ex.Message)
                        Return
                    End Try
                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 GetUniqueColorCommandExample
    {
        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("Deskew.tif");
                try
                {
                    // create the image processing command
                    Vintasoft.Imaging.ImageProcessing.Info.GetUniqueColorCommand command =
                        new Vintasoft.Imaging.ImageProcessing.Info.GetUniqueColorCommand();
    
                    // 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);
    
                            // show result
                            if (command.IsColorDetected)
                            {
                                System.Windows.Forms.MessageBox.Show(string.Format("Image has unique color {0}.", command.Color));
                            }
                            else
                            {
                                System.Windows.Forms.MessageBox.Show("Image does not have unique color.");
                            }
                        }
                    }
                    catch (Vintasoft.Imaging.ImageProcessing.ImageProcessingException ex)
                    {
                        // show error message
                        System.Windows.Forms.MessageBox.Show(ex.Message);
                        return;
                    }
                }
                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
            // ...
        }
    
    }
    
    

    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
          Vintasoft.Imaging.ImageProcessing.ProcessingCommandWithRegion
             Vintasoft.Imaging.ImageProcessing.Info.GetUniqueColorCommand

    Requirements

    Target Platforms: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also