2016-06-27 66 views
1

在xamarin有沒有人知道如何使用MobileBarcodeScanner掃描條碼或qrcode後捕獲圖像?我正在以文本格式獲得正確的掃描條形碼或qrcode。但是我可以從中獲取掃描圖像嗎?xamarin格式的條碼掃描

回答

0

我不相信ZXing公開了它用於掃描的底層圖像數據。如果你需要這種行爲,那麼修改ZXing來做它可能相當容易。

0

ZXing不支持返回掃描圖像。

您需要修改ZXing源代碼。

我從Xamarin論壇找到了解決方案,請閱讀本文。

報價。

在Result.cs類中,添加屬性來處理ZXingSurfaceView.cs寬度,高度和源圖像

public Android.Graphics.YuvImage SourceYuv { get; set; } 
public int SourceWidth { get; set; } 
public int SourceHeight { get; set; } 

修改OnPreviewFrame方法保存的原始圖像

...at the beginning before the processing 
var img = new YuvImage(bytes, ImageFormatType.Nv21, cameraParameters.PreviewSize.Width, cameraParameters.PreviewSize.Height, null); 
...result calculations... 
result.SourceWidth = width; 
result.SourceHeight = height; 
result.SourceYuv = img; 

稍後在我們自己的代碼中,當我們獲得結果時,我們可以輕鬆地將其保存到文件或做我們想做的任何事

string filenamefile = DateTime.Now.Ticks.ToString() + ".jpg"; 
    string filename = System.IO.Path.Combine(Values.DownloadsFolder(), filenamefile); 
    Android.Graphics.Rect rect = new Android.Graphics.Rect(0, 0, result.SourceWidth, result.SourceHeight); 

    using (var os = new FileStream(filename, FileMode.CreateNew)) 
    { 
      result.SourceYuv.CompressToJpeg(rect, 100, os); 
      os.Flush(); 
       os.Close(); 
    }