2013-07-26 50 views
0

我正在使用适用于Android的ZBar SDK。Android ZBar SDK获取扫描图像

它解码并返回QR码。

但它没有返回捕获的图像。

我想将拍摄的QR图像从相机显示到我的屏幕。

在此先感谢..

+0

也许你需要从camerapreview中获取它... – whoisthis

+0

检查这个问题,还有另一个问题,但我认为捕获部分你可以参考http:// stack overflow.com/questions/12969487/scaning-barcode-qr-code-capture-image-using-android-takepicture – whoisthis

+0

@bjoshi你可以有任何小例子代码或什么? – valentinaMeyashi

回答

0

假设你的相机类实现Camera.PreviewCallback,你可以重写onPreviewFrame方法

@Override 
    public void onPreviewFrame(byte[] data, Camera camera) { 

     Parameters parameters = camera.getParameters(); 
     Size size = parameters.getPreviewSize(); 

     Image barcode = new Image(size.width, size.height, "Y800"); 
     barcode.setData(data); 
     int result = scanner.scanImage(barcode); 

     if (result != 0) { 
      camera.setPreviewCallback(null); 
      camera.stopPreview(); 

      SymbolSet syms = scanner.getResults(); 
      for (Symbol sym : syms) { 
        // the barcode string 
       System.out.println(sym.getData()); 
      } 

    } 

,然后通过调用方法:

yourCamera.setPreviewCallback(YourCameraActivity.this);