2014-12-13 3 views
-1

어떻게하면 zxing 라이브러리로 QrCode 또는 바코드를 디코딩 할 수 있습니까? 테스트 프로젝트를위한 은 QrCode를 생성합니다. 이제 같은 라이브러리로 이것을 디코드하고 결과를 텍스트 블록에 채워 넣기를 원합니다.
내가 QR 코드를 생성하고 디코딩 방법에 내가 QR 코드를 디코딩 GenerateQRCode 방법에 내 코드바코드 스캐너 (zxing 포함) Windows 전화

public WriteableBitmap GenerateQRCode(string phoneNumber) 
{ 
    var _writer = new BarcodeWriter(); 
    _writer.Renderer = new WriteableBitmapRenderer() 
    { 
     Foreground = Color.FromArgb(255, 0, 0, 255) 

    }; 
    _writer.Format = BarcodeFormat.QR_CODE; 
    _writer.Options.Height = 244; 
    _writer.Options.Width = 446; 
    _writer.Options.Margin = 1; 
    _writer.Options.PureBarcode = true; 
    var barc = _writer.Write("tel:" + phoneNumber); 
    ImageGenrate.Source = barc; 
    var ss = Decode(barc); 

    return barc; 
} 

public void Decode(WriteableBitmap sImage) 
{ 
    var br = new BarcodeReader(); 
    br.Decode(sImage); 
} 

로 설명 나를 보자. 어떻게 디코드 결과를 볼 수 있습니까?

+0

어떤 ZXing 포트를 사용하고 있습니까? Google은 소유하고 있지 않습니다. –

+0

포트의 의미는 무엇입니까? – user3532929

+0

ZXing은 Google에서 관리하는 Java 라이브러리입니다. .NET에서 사용하려면 누군가를 예를 들어로 변환해야합니다. C#은 Google이 직접하지 않기 때문에. 도서관 어디서 나왔어? 어떤 NuGet 패키지 또는 웹 페이지? –

답변

2

나는 ZXing.Net (NuGet package)을 사용한다고 가정합니다.

BarcodeReader.Decode(WritableBitmap)Result 유형의 객체를 반환합니다. 이 개체의 속성은 string Textbyte[] RawBytes입니다.

public string Decode(WriteableBitmap sImage) 
{ 
    var br = new BarcodeReader(); 
    var result = br.Decode(sImage); 
    if (result != null) 
    { 
     return result.Text; 
    } 
    return null; 
} 
관련 문제