2016-06-27 17 views
1

xamarinでは、MobileBarcodeScannerを使用してバーコードまたはqrcodeをスキャンした後に、どのようにイメージをキャプチャするかを知っていますか?私はテキスト形式で適切なスキャンバーコードまたはqrcodeを取得しています。しかし、スキャンしたイメージをそこから得ることはできますか?xamarin形式のバーコードスキャン

答えて

0

ZXingがスキャンに使用する基礎となるイメージデータを公開しているとは思いません。この動作が必要な場合は、ZXingを変更するのはかなり簡単でしょう。

0

ZXingはスキャンした画像を返送することはできません。

ZXingのソースコードを変更する必要があります。

私はXamarinフォーラムの解決策を見つけました。これをお読みください。このスレッドから

引用次の通りです。 ZXingSurfaceView.csで

幅を処理するプロパティを追加Result.csクラスで

、高さ及びソース画像

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

原画像

...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; 

を保存するOnPreviewFrame方法を変更します後で独自のコードで結果を得ると、ファイルに簡単に保存したり、必要な処理を行うことができます

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(); 
    } 
関連する問題