/* * Copyright 2012 ZXing.Net authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; using System.Drawing; namespace ZXing { /// /// A smart class to decode the barcode inside a bitmap object /// public class BarcodeReader : BarcodeReader, IBarcodeReader { private static readonly Func defaultCreateLuminanceSource = (bitmap) => new BitmapLuminanceSource(bitmap); /// /// Initializes a new instance of the class. /// public BarcodeReader() : this(null, defaultCreateLuminanceSource, null) { } /// /// Initializes a new instance of the class. /// /// Sets the reader which should be used to find and decode the barcode. /// If null then MultiFormatReader is used /// Sets the function to create a luminance source object for a bitmap. /// If null, an exception is thrown when Decode is called /// Sets the function to create a binarizer object for a luminance source. /// If null then HybridBinarizer is used public BarcodeReader(Reader reader, Func createLuminanceSource, Func createBinarizer ) : base(reader, createLuminanceSource ?? defaultCreateLuminanceSource, createBinarizer) { } /// /// Initializes a new instance of the class. /// /// Sets the reader which should be used to find and decode the barcode. /// If null then MultiFormatReader is used /// Sets the function to create a luminance source object for a bitmap. /// If null, an exception is thrown when Decode is called /// Sets the function to create a binarizer object for a luminance source. /// If null then HybridBinarizer is used /// Sets the function to create a luminance source object for a rgb raw byte array. public BarcodeReader(Reader reader, Func createLuminanceSource, Func createBinarizer, Func createRGBLuminanceSource ) : base(reader, createLuminanceSource ?? defaultCreateLuminanceSource, createBinarizer, createRGBLuminanceSource) { } } }