2016-06-27 4 views
1

xamarin에서 누구나 MobileBarcodeScanner를 사용하여 바코드 또는 qrcode를 스캔 한 후 이미지를 캡처하는 방법을 알고 있습니까? 올바른 스캔 바코드 또는 qrcode를 텍스트 형식으로 가져옵니다. 하지만 스캔 한 이미지를 가져올 수 있습니까?xamarin 양식의 바코드 스캐닝

답변

0

저는 ZXing이 스캔에 사용하는 기본 이미지 데이터를 노출한다고 생각하지 않습니다. 이 동작이 필요한 경우 ZXing을 수정하는 것이 매우 쉽습니다.

0

ZXing은 스캔 한 이미지를 반환하지 않습니다.

ZXing 소스 코드를 수정해야합니다.

Xamarin 포럼의 해결책을 찾았습니다.

견적.

Result.cs 클래스에서

, 원시 이미지

...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 방법을 수정 ZXingSurfaceView.cs의 폭, 높이 및 소스 이미지

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

처리 속성을 추가 나중에 우리 자신의 코드에서 결과를 얻으면 파일에 쉽게 저장하거나 원하는 것을 수행 할 수 있습니다.

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(); 
    } 
관련 문제