←Select platform

ClearNegativePixelsCommand Class

Summary
Sets all pixels with negative color values to 0.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ClearNegativePixelsCommand : RasterCommand 
@interface LTClearNegativePixelsCommand : LTRasterCommand 
public class ClearNegativePixelsCommand extends RasterCommand 
public ref class ClearNegativePixelsCommand : public RasterCommand   
class ClearNegativePixelsCommand(RasterCommand): 
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 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 ClearNegativePixelsCommand if, after loading an image, RasterImage.Signed is true. ClearNegativePixelsCommand does nothing if RasterImage.IsSigned is false.

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

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

Example

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

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
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); 
	Assert.IsTrue(image.Signed); 
 
	// Clear the negative pixels and save it it back 
	ClearNegativePixelsCommand command = new ClearNegativePixelsCommand(); 
	command.Run(image); 
	Assert.IsTrue(!image.Signed); 
 
	codecs.Save(image, destFileName, RasterImageFormat.Tif, 24); 
 
	// Clean up 
	image.Dispose(); 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.*; 
 
 
public void clearNegativePixelsCommandExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp"); 
   String destFileName = combine(LEAD_VARS_IMAGES_DIR, "CleanNegativePixelsCommand.tif"); 
 
   // Load the CMP file and convert it to TIF 
   RasterImage image = codecs.load(srcFileName); 
   image.setSigned(true); 
   codecs.save(image, destFileName, RasterImageFormat.TIF, 24); 
   image.dispose(); 
 
   // Load this image as signed 
   codecs.getOptions().getLoad().setSigned(true); 
 
   // Load the source image from disk 
   image = codecs.load(destFileName); 
   assertTrue(image.getSigned()); 
 
   // Clear the negative pixels and save it it back 
   ClearNegativePixelsCommand command = new ClearNegativePixelsCommand(); 
   command.run(image); 
   assertTrue(!image.getSigned()); 
 
   codecs.save(image, destFileName, RasterImageFormat.TIF, 24); 
   assertTrue("file unsuccessfully saved to " + destFileName, (new File(destFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", destFileName); 
 
   // Clean up 
   image.dispose(); 
   codecs.dispose(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.5.22
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.