LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ClearNegativePixelsCommand Class
See Also  Members  
Leadtools.ImageProcessing Namespace : ClearNegativePixelsCommand Class



Sets all pixels with negative color values to 0. Supported in Silverlight, Windows Phone 7

Object Model

ClearNegativePixelsCommand Class

Syntax

Visual Basic (Declaration) 
Public Class ClearNegativePixelsCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As ClearNegativePixelsCommand
C# 
public class ClearNegativePixelsCommand : RasterCommand, IRasterCommand  
C++/CLI 
public ref class ClearNegativePixelsCommand : public RasterCommand, IRasterCommand  

Example

This example sets the Signed flag in the load options, loads a tif file and clears the negative pixels.

Visual BasicCopy Code
Public Sub ClearNegativePixelsCommandExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
      Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "CleanNegativePixelsCommand.tif")

      ' Load the CMP file and convert it to TIF
      Dim image As RasterImage = codecs.Load(srcFileName)
      image.Signed = True
      codecs.Save(image, destFileName, RasterImageFormat.Tif, 24)
      image.Dispose()

      ' Load this image as signed
      codecs.Options.Load.Signed = True

      ' Load the source image from disk
      image = codecs.Load(destFileName)
      Debug.Assert(image.Signed)

      ' Clear the negative pixels and save it it back
      Dim command As ClearNegativePixelsCommand = New ClearNegativePixelsCommand()
      command.Run(image)
      Debug.Assert((Not image.Signed))

      codecs.Save(image, destFileName, RasterImageFormat.Tif, 24)

      ' Clean up
      image.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void ClearNegativePixelsCommandExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "CleanNegativePixelsCommand.tif");

      // Load the CMP file and convert it to TIF
      RasterImage image = codecs.Load(srcFileName);
      image.Signed = true;
      codecs.Save(image, destFileName, RasterImageFormat.Tif, 24);
      image.Dispose();

      // Load this image as signed
      codecs.Options.Load.Signed = true;

      // Load the source image from disk
      image = codecs.Load(destFileName);
      Debug.Assert(image.Signed);

      // Clear the negative pixels and save it it back
      ClearNegativePixelsCommand command = new ClearNegativePixelsCommand();
      command.Run(image);
      Debug.Assert(!image.Signed);

      codecs.Save(image, destFileName, RasterImageFormat.Tif, 24);

      // Clean up
      image.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void ClearNegativePixelsCommandExample(RasterImage image, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   // convert it to TIF
   image.Signed = true;
   codecs.Save(image, destStream, RasterImageFormat.Tif, 24);
   image.Dispose();

   // Load this image as signed
   codecs.Options.Load.Signed = true;

   // Load the source image
   image = codecs.Load(destStream);
   Debug.Assert(image.Signed);

   // Clear the negative pixels and save it it back
   ClearNegativePixelsCommand command = new ClearNegativePixelsCommand();
   command.Run(image);
   Debug.Assert(!image.Signed);

   codecs.Save(image, destStream, RasterImageFormat.Tif, 24);

   // Clean up
   image.Dispose();
}
SilverlightVBCopy Code
Public Sub ClearNegativePixelsCommandExample(ByVal image As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' convert it to TIF
   image.Signed = True
   codecs.Save(image, destStream, RasterImageFormat.Tif, 24)
   image.Dispose()

   ' Load this image as signed
   codecs.Options.Load.Signed = True

   ' Load the source image
   image = codecs.Load(destStream)
   Debug.Assert(image.Signed)

   ' Clear the negative pixels and save it it back
   Dim command As ClearNegativePixelsCommand = New ClearNegativePixelsCommand()
   command.Run(image)
   Debug.Assert((Not image.Signed))

   codecs.Save(image, destStream, RasterImageFormat.Tif, 24)

   ' Clean up
   image.Dispose()
End Sub

Remarks

If CodecsLoadOptions.Signed is true when a file is loaded, the image may contain negative pixel values and LEADTOOLS will paint/process the image incorrectly. In order to use this image correctly, you must user Leadtools.ImageProcessing.ClearNegativePixelsCommand. If the CodecsLoadOptions.Signed property is false, all negative pixels are cleared internally, during the load process.

Since some TIFF files are saved with negative values for pixel colors, you should use Leadtools.ImageProcessing.ClearNegativePixelsCommand if, after loading an image, RasterImage.Signed is true. Leadtools.ImageProcessing.ClearNegativePixelsCommand does nothing if RasterImage.IsSigned is false.

Programming tip: use Leadtools.ImageProcessing.ClearNegativePixelsCommand right after loading the image from file.

For more information, refer to Introduction to Image Processing With LEADTOOLS.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.ClearNegativePixelsCommand

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7

See Also