public void Luminance_Is_Within_Margin_Of_Error(string fileName) { byte[] controlLuminanceSourceMatrix; using (var control = LoadBitmapImage(fileName)) { var bitmapLuminanceSource = new BitmapLuminanceSource(control); controlLuminanceSourceMatrix = bitmapLuminanceSource.Matrix; } byte[] testLuminanceSourceMatrix; using (var bitmap = LoadSKBitmap(fileName)) { var skBitmapLuminanceSource = new SKBitmapLuminanceSource(bitmap); testLuminanceSourceMatrix = skBitmapLuminanceSource.Matrix; } Assert.AreEqual(controlLuminanceSourceMatrix.Length, testLuminanceSourceMatrix.Length); for (int index = 0; index < controlLuminanceSourceMatrix.Length; index++) { var controlColor = controlLuminanceSourceMatrix[index]; var testColor = testLuminanceSourceMatrix[index]; Assert.That(testColor, Is.EqualTo(controlColor).Within(3)); } }
public void Should_Calculate_Luminance_And_Decode(string fileName, string content) { using (var bitmap = LoadSKBitmap(fileName)) { var luminance = new SKBitmapLuminanceSource(bitmap); var reader = new BarcodeReader(); var result = reader.Decode(luminance); Assert.That(result?.Text, Is.EqualTo(content)); } }
/// <summary> /// uses the IBarcodeReaderGeneric implementation and the <see cref="SKBitmapLuminanceSource"/> class for decoding /// </summary> /// <param name="reader"></param> /// <param name="image"></param> /// <returns></returns> public static Result[] DecodeMultiple(this IBarcodeReaderGeneric reader, SKBitmap image) { var luminanceSource = new SKBitmapLuminanceSource(image); return(reader.DecodeMultiple(luminanceSource)); }