android条码扫描程序

本文介绍如何在Android中创建一个条码扫描程序,利用ZXing库来识别一维码和二维码。程序包括SurfaceView预览摄像头画面,自定义View绘制扫描线,以及解析图像并显示结果的步骤。通过实现SurfaceHolder.Callback接口,开启相机,自动聚焦并解析图像,成功后将结果显示给用户。
摘要由CSDN通过智能技术生成

源码下载地址:

地址1:https://github.com/alivebao/BarCodeReader

地址2:http://download.csdn.net/detail/miaoyunzexiaobao/8297201

参考链接:

zxing入门:http://www.cnblogs.com/liuan/archive/2012/01/05/2312714.html

BitmapLuminanceSource类实现:http://blog.csdn.net/xyz_fly/article/details/8089558

目标:完成一个条码扫描程序,能识别出一维码和二维码,并将解析出来的结果显示出来


效果图:扫描中-》扫描成功

                     扫描成功后: 

首先在布局上放置一个预览框,用于实时显示摄像头拍摄到的情况,并在其上绘制一条来回扫描的线条。之后在其下方放一个imageView,用于显示摄像头自动聚焦后获取的图片。

实现:该Activity的整体布局为方向vertical的线性布局。该线性布局内嵌着一个帧布局和另一个线性布局。帧布局中先在底层防止了一个SurfaceView,用于显示摄像头预览图片,再在其上放置了一个自己实现的View类ScanLineView,该类继承自View,主要功能为在SurfaceView上绘制一条来回扫描的红色线条。下面的LinearLayout放置了一个ImageView,用于显示聚焦后获得的图片(程序自动对该图片进行解码)

code:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight=".3" >

        <SurfaceView
            android:id="@+id/preview_view"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

        <com.miao.barcodereader.ScanLineView
            android:id="@+id/capture_viewfinder_view"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@android:color/transparent" />
    </FrameLayout>

    <LinearLayout
        android:layout_wi
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值