public RasterColor ForeColor { get; set; }
@property (nonatomic, copy) LTRasterColor *foreColor;
public RasterColor getForeColor()
public void setForeColor(RasterColor value)
public:
property RasterColor ForeColor {
RasterColor get();
void set ( RasterColor );
}
ForeColor # get and set (BarcodeReadOptions)
A RasterColor that specifies the barcode foreground (bars or symbol) color to use when searching for barcodes. The default value is "Black" (RGB of #000000). The default value is #FF000000
.
If the input image is bitonal (B/W), then this value will not be used. The foreground color is always considered to be black (or the foreground color in the image palette) and the background color is always considered to be white (or the background color in the image palette).
When the input image is not bitonal, LEADTOOLS will perform intensity detect operation on the image to convert it to black and white before searching for the barcodes and uses the value of ForeColor and BackColor as the high and low threshold.
This example reads a barcode from an image with specific colors.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
public void BarcodeReadOptions_ColorsExample()
{
string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif");
// Create a Barcode engine
BarcodeEngine engine = new BarcodeEngine();
// Get the Barcode reader instance
BarcodeReader reader = engine.Reader;
using (RasterCodecs codecs = new RasterCodecs())
{
using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
{
// Invert the image
Console.WriteLine("Inverting the image");
Leadtools.ImageProcessing.Color.InvertCommand invert = new Leadtools.ImageProcessing.Color.InvertCommand();
invert.Run(image);
// All barcodes have default options of black foreground color and white background color, so
// reading the barcode with default options should not return any barcodes right now
// Read the QR barcode from this image using default options
Console.WriteLine("Reading using default options");
BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, BarcodeSymbology.QR, null);
// Show its location and data if found
// This will print out "Not found"
if (barcode != null)
{
Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value);
}
else
{
Console.WriteLine("Not found");
}
// Now create QR read options to have white foreground color and black background color
QRBarcodeReadOptions qrReadOptions = new QRBarcodeReadOptions();
qrReadOptions.ForeColor = RasterColor.FromKnownColor(RasterKnownColor.White);
qrReadOptions.BackColor = RasterColor.FromKnownColor(RasterKnownColor.Black);
// And use it to try to read the QR barcode again
Console.WriteLine("Reading using specific options that instruct the engine to look for white on black barcodes");
barcode = reader.ReadBarcode(image, LeadRect.Empty, BarcodeSymbology.QR, qrReadOptions);
// Show its location and data if found
// This will find the barcode and print its information now
if (barcode != null)
{
Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value);
}
else
{
Console.WriteLine("Not found");
}
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document